]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - org.simantics.interop.mapping/src/org/simantics/interop/mapping/WriteGraphProxy.java
refs #3483
[simantics/interop.git] / org.simantics.interop.mapping / src / org / simantics / interop / mapping / WriteGraphProxy.java
diff --git a/org.simantics.interop.mapping/src/org/simantics/interop/mapping/WriteGraphProxy.java b/org.simantics.interop.mapping/src/org/simantics/interop/mapping/WriteGraphProxy.java
new file mode 100644 (file)
index 0000000..96ee011
--- /dev/null
@@ -0,0 +1,2732 @@
+package org.simantics.interop.mapping;\r
+\r
+import java.util.Collection;\r
+import java.util.Set;\r
+import java.util.TreeMap;\r
+\r
+import org.simantics.databoard.accessor.Accessor;\r
+import org.simantics.databoard.binding.Binding;\r
+import org.simantics.databoard.type.Datatype;\r
+import org.simantics.databoard.util.binary.RandomAccessBinary;\r
+import org.simantics.db.Metadata;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.Session;\r
+import org.simantics.db.Statement;\r
+import org.simantics.db.VirtualGraph;\r
+import org.simantics.db.WriteGraph;\r
+import org.simantics.db.exception.AdaptionException;\r
+import org.simantics.db.exception.AssumptionException;\r
+import org.simantics.db.exception.BindingException;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.exception.DoesNotContainValueException;\r
+import org.simantics.db.exception.ManyObjectsForFunctionalRelationException;\r
+import org.simantics.db.exception.NoInverseException;\r
+import org.simantics.db.exception.NoSingleResultException;\r
+import org.simantics.db.exception.ResourceNotFoundException;\r
+import org.simantics.db.exception.ServiceException;\r
+import org.simantics.db.exception.ServiceNotFoundException;\r
+import org.simantics.db.exception.ValidationException;\r
+import org.simantics.db.procedure.AsyncListener;\r
+import org.simantics.db.procedure.AsyncMultiListener;\r
+import org.simantics.db.procedure.AsyncMultiProcedure;\r
+import org.simantics.db.procedure.AsyncProcedure;\r
+import org.simantics.db.procedure.AsyncSetListener;\r
+import org.simantics.db.procedure.Listener;\r
+import org.simantics.db.procedure.MultiListener;\r
+import org.simantics.db.procedure.MultiProcedure;\r
+import org.simantics.db.procedure.Procedure;\r
+import org.simantics.db.procedure.SetListener;\r
+import org.simantics.db.procedure.SyncListener;\r
+import org.simantics.db.procedure.SyncMultiListener;\r
+import org.simantics.db.procedure.SyncMultiProcedure;\r
+import org.simantics.db.procedure.SyncProcedure;\r
+import org.simantics.db.procedure.SyncSetListener;\r
+import org.simantics.db.request.AsyncMultiRead;\r
+import org.simantics.db.request.AsyncRead;\r
+import org.simantics.db.request.DelayedWrite;\r
+import org.simantics.db.request.DelayedWriteResult;\r
+import org.simantics.db.request.ExternalRead;\r
+import org.simantics.db.request.MultiRead;\r
+import org.simantics.db.request.Read;\r
+import org.simantics.db.request.ReadInterface;\r
+import org.simantics.db.request.Write;\r
+import org.simantics.db.request.WriteInterface;\r
+import org.simantics.db.request.WriteOnly;\r
+import org.simantics.db.request.WriteOnlyResult;\r
+import org.simantics.db.request.WriteResult;\r
+import org.simantics.db.request.WriteTraits;\r
+import org.simantics.scl.types.Type;\r
+import org.simantics.utils.datastructures.Callback;\r
+\r
+/**\r
+ * \r
+ * @author Marko Luukkainen <marko.luukkainen@vtt.fi>\r
+ *\r
+ */\r
+public class WriteGraphProxy implements WriteGraph {\r
+       \r
+       protected WriteGraph graph;\r
+       \r
+       \r
+       @Override\r
+       public <T> T getRelatedValue2(Resource subject, Resource relation)\r
+                       throws DatabaseException {\r
+               return graph.getRelatedValue2(subject, relation);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T getRelatedValue2(Resource subject, Resource relation,\r
+                       Binding binding) throws DatabaseException {\r
+               return graph.getRelatedValue2(subject, relation, binding);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T getRelatedValue2(Resource subject, Resource relation,\r
+                       Object context) throws DatabaseException {\r
+               return graph.getRelatedValue2(subject, relation, context);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T getRelatedValue2(Resource subject, Resource relation,\r
+                       Object context, Binding binding) throws DatabaseException {\r
+               return graph.getRelatedValue2(subject, relation, context, binding);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T getPossibleRelatedValue2(Resource subject, Resource relation)\r
+                       throws DatabaseException {\r
+               return graph.getPossibleRelatedValue2(subject, relation);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T getPossibleRelatedValue2(Resource subject, Resource relation,\r
+                       Binding binding) throws DatabaseException {\r
+               return graph.getPossibleRelatedValue2(subject, relation, binding);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T getPossibleRelatedValue2(Resource subject, Resource relation,\r
+                       Object context) throws DatabaseException {\r
+               return graph.getPossibleRelatedValue2(subject, relation, context);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T getPossibleRelatedValue2(Resource subject, Resource relation,\r
+                       Object context, Binding binding) throws DatabaseException {\r
+               return getPossibleRelatedValue2(subject, relation, context, binding);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void async(ReadInterface<T> r, AsyncListener<T> procedure) {\r
+               graph.async(r,procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void async(ReadInterface<T> r, AsyncProcedure<T> procedure) {\r
+               graph.async(r, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void async(ReadInterface<T> r, Listener<T> procedure) {\r
+               graph.async(r, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void async(ReadInterface<T> r, Procedure<T> procedure) {\r
+               graph.async(r, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void async(ReadInterface<T> r, SyncListener<T> procedure) {\r
+               graph.async(r, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void async(ReadInterface<T> r, SyncProcedure<T> procedure) {\r
+               graph.async(r, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void async(WriteInterface<T> r) {\r
+               graph.async(r);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void async(WriteInterface<T> r, Procedure<T> procedure) {\r
+               graph.async(r, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T sync(ReadInterface<T> r) throws DatabaseException {\r
+               return graph.sync(r);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T sync(WriteInterface<T> r) throws DatabaseException {\r
+               return graph.sync(r);\r
+       }\r
+       \r
+       @Override\r
+       public Resource getRootLibrary() {\r
+               return graph.getRootLibrary();\r
+       }\r
+       \r
+       \r
+       @Override\r
+       public void clearUndoList(WriteTraits writeTraits) {\r
+               graph.clearUndoList(writeTraits);\r
+       }\r
+       \r
+       @Override\r
+       public void combineWithPrevious(WriteTraits writeTraits) {\r
+               graph.combineWithPrevious(writeTraits);\r
+       }\r
+       \r
+       @Override\r
+       public TreeMap<String, byte[]> getMetadata() {\r
+               return graph.getMetadata();\r
+       }\r
+       \r
+       @Override\r
+       public <T extends Metadata> T getMetadata(Class<T> clazz)\r
+                       throws ServiceException {\r
+               return graph.getMetadata(clazz);\r
+       }\r
+       \r
+       @Override\r
+       public Type getRelatedValueType(Resource subject, Resource relation)\r
+                       throws DatabaseException {\r
+               return graph.getRelatedValueType(subject, relation);\r
+       }\r
+       \r
+       @Override\r
+       public void deny(Resource subject, Resource predicate, Resource inverse,\r
+                       Resource object, VirtualGraph graph) throws ServiceException {\r
+               this.graph.deny(subject, predicate, inverse, object, graph);\r
+       }\r
+       \r
+       \r
+       \r
+       \r
+       @Override\r
+       public <T> T adaptRelated(Resource resource, Resource relation,\r
+                       Class<T> clazz) throws AdaptionException, NoSingleResultException,\r
+                       ValidationException, ServiceException {\r
+               return graph.adaptRelated(resource, relation, clazz);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T getPossibleRelatedAdapter(Resource resource,\r
+                       Resource relation, Class<T> clazz) throws ValidationException,\r
+                       ServiceException {\r
+               return graph.getPossibleRelatedAdapter(resource, relation, clazz);\r
+       }\r
+       \r
+       @Override\r
+       public void inc() {\r
+               graph.inc();\r
+       }\r
+       \r
+       @Override\r
+       public void dec() {\r
+               graph.dec();\r
+       }\r
+       \r
+       @Override\r
+       public Collection<Resource> getObjects(Resource subject, Resource relation) throws ServiceException \r
+                       {\r
+               return graph.getObjects(subject, relation);\r
+       }\r
+       \r
+       @Override\r
+       public <T extends Accessor> T newLiteral(Resource resource,\r
+       Resource predicate, Datatype datatype, Object initialValue)\r
+       throws DatabaseException {\r
+               return graph.newLiteral(resource, predicate, datatype, initialValue);\r
+       }\r
+\r
+    @Override\r
+    public RandomAccessBinary newLiteral4RandomAccessBinary\r
+    (Resource resource, Resource predicate, Datatype datatype, Object initialValue)\r
+    throws DatabaseException {\r
+        return graph.newLiteral4RandomAccessBinary(resource, predicate, datatype, initialValue);\r
+    }\r
+//     @Override\r
+//     public void claimFile(Resource resource, Object content, Binding binding)\r
+//                     throws DatabaseException {\r
+//             graph.claimFile(resource, content, binding);\r
+//     }\r
+//     \r
+//     @Override\r
+//     public void denyFile(Resource resource) throws DatabaseException {\r
+//             graph.denyFile(resource);\r
+//     }\r
+       \r
+       public <T, C> T adaptContextual(Resource resource, C context, java.lang.Class<C> contextClass, java.lang.Class<T> clazz) throws AdaptionException ,NoSingleResultException ,ValidationException ,ServiceException {\r
+               return graph.adaptContextual(resource, context, contextClass, clazz);\r
+       };\r
+       \r
+       public <T, C> T getPossibleContextualAdapter(Resource resource, C context, java.lang.Class<C> contextClass, java.lang.Class<T> clazz) throws ValidationException ,ServiceException {\r
+               return graph.getPossibleContextualAdapter(resource, context, contextClass, clazz);\r
+       };\r
+       \r
+       \r
+       public WriteGraphProxy(WriteGraph graph) {\r
+               this.graph = graph;\r
+       }\r
+       \r
+       @Override\r
+       public Resource newResource() throws ServiceException {\r
+               return graph.newResource();\r
+       }\r
+       \r
+       @Override\r
+       public Resource newResource(long clusterId) throws ServiceException {\r
+               return graph.newResource(clusterId);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T adapt(Resource resource, Class<T> clazz)\r
+                       throws AdaptionException, ValidationException, ServiceException {\r
+               return graph.adapt(resource, clazz);\r
+       }\r
+       \r
+       @Override\r
+       public <T> T adaptUnique(Resource resource, Class<T> clazz)\r
+                       throws AdaptionException, ValidationException, ServiceException {\r
+               return adaptUnique(resource, clazz);\r
+       }\r
+       \r
+       @Override\r
+       public void addLiteral(Resource resource, Resource predicate,\r
+                       Resource inverse, Object value, Binding binding)\r
+                       throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.addLiteral(resource, predicate, inverse, value, binding);\r
+       }\r
+       \r
+       @Override\r
+       public void addLiteral(Resource resource, Resource predicate,\r
+                       Resource inverse, Resource type, Object value, Binding binding)\r
+                       throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.addLiteral(resource, predicate, inverse, type, value, binding);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void addMetadata(Metadata data) throws ServiceException {\r
+               graph.addMetadata(data);\r
+       }\r
+       \r
+       @SuppressWarnings("deprecation")\r
+       @Override\r
+       public void addValue(Resource resource, Resource predicate,\r
+                       Resource inverse, Resource type, Object value, Binding binding)\r
+                       throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.addValue(resource, predicate, inverse, type, value, binding);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncMultiRead<T> request) {\r
+               graph.asyncRequest(request);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
+                       AsyncMultiListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
+                       AsyncMultiProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
+                       MultiListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
+                       MultiProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
+                       SyncMultiListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
+                       SyncMultiProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncRead<T> request) {\r
+               graph.asyncRequest(request);    \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncRead<T> request,\r
+                       AsyncListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncRead<T> request,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncRead<T> request, Listener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncRead<T> request,\r
+                       Procedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncRead<T> request,\r
+                       SyncListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(AsyncRead<T> request,\r
+                       SyncProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public void asyncRequest(DelayedWrite request) {\r
+               graph.asyncRequest(request);    \r
+       }\r
+       \r
+       @Override\r
+       public void asyncRequest(DelayedWrite request,\r
+                       Callback<DatabaseException> callback) {\r
+               graph.asyncRequest(request,callback);   \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(DelayedWriteResult<T> r,\r
+                       Procedure<T> procedure) {\r
+               graph.asyncRequest(r,procedure);        \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(ExternalRead<T> request) {\r
+               graph.asyncRequest(request);    \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(ExternalRead<T> request,\r
+                       Listener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);\r
+       }       \r
+       \r
+       @Override\r
+       public <T> void asyncRequest(ExternalRead<T> request,\r
+                       Procedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(MultiRead<T> request) {\r
+               graph.asyncRequest(request);    \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(MultiRead<T> request,\r
+                       AsyncMultiListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(MultiRead<T> request,\r
+                       AsyncMultiProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(MultiRead<T> request,\r
+                       MultiListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(MultiRead<T> request,\r
+                       MultiProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(MultiRead<T> request,\r
+                       SyncMultiListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(MultiRead<T> request,\r
+                       SyncMultiProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(Read<T> request) {\r
+               graph.asyncRequest(request);    \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(Read<T> request, AsyncListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(Read<T> request,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(Read<T> request, Listener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(Read<T> request, Procedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(Read<T> request, SyncListener<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(Read<T> request, SyncProcedure<T> procedure) {\r
+               graph.asyncRequest(request,procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public void asyncRequest(Write request) {\r
+               graph.asyncRequest(request);    \r
+       }\r
+       \r
+       @Override\r
+       public void asyncRequest(Write request,\r
+                       Callback<DatabaseException> callback) {\r
+               graph.asyncRequest(request, callback);  \r
+       }\r
+       \r
+       @Override\r
+       public void asyncRequest(WriteOnly r) {\r
+               graph.asyncRequest(r);  \r
+       }\r
+       \r
+       @Override\r
+       public void asyncRequest(WriteOnly r,\r
+                       Callback<DatabaseException> callback) {\r
+               graph.asyncRequest(r,callback); \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(WriteOnlyResult<T> r,\r
+                       Procedure<T> procedure) {\r
+               graph.asyncRequest(r,procedure);        \r
+       }\r
+       \r
+       @Override\r
+       public <T> void asyncRequest(WriteResult<T> r, Procedure<T> procedure) {\r
+               graph.asyncRequest(r,procedure);        \r
+       }\r
+       \r
+       \r
+       \r
+       @Override\r
+       public void claim(Resource subject, Resource predicate,\r
+                       Resource inverse, Resource object) throws ServiceException {\r
+               graph.claim(subject, predicate, inverse, object);\r
+       }\r
+       \r
+       @Override\r
+       public void claim(Resource subject, Resource predicate, Resource object)\r
+                       throws ServiceException {\r
+               graph.claim(subject, predicate, object);\r
+       }\r
+       \r
+\r
+       @Override\r
+       public void claimLiteral(Resource resource, Resource predicate,\r
+                       Object value) throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               graph.claimLiteral(resource, predicate, value);\r
+       }\r
+       \r
+       @Override\r
+       public void claimLiteral(Resource resource, Resource predicate,\r
+                       Object value, Binding binding) throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.claimLiteral(resource, predicate, value, binding);\r
+       }\r
+       \r
+       @Override\r
+       public void claimLiteral(Resource resource, Resource predicate,\r
+                       Resource inverse, Resource type, Object value)\r
+                       throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.claimLiteral(resource, predicate, inverse, type, value);\r
+       }\r
+       \r
+       @Override\r
+       public void claimLiteral(Resource resource, Resource predicate,\r
+                       Resource inverse, Resource type, Object value, Binding binding)\r
+                       throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.claimLiteral(resource, predicate, inverse, type, value, binding);\r
+       }\r
+       \r
+       @Override\r
+       public void claimLiteral(Resource resource, Resource predicate,\r
+                       Resource type, Object value) throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.claimLiteral(resource, predicate, type, value);\r
+       }\r
+       \r
+       @Override\r
+       public void claimLiteral(Resource resource, Resource predicate,\r
+                       Resource type, Object value, Binding binding)\r
+                       throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.claimLiteral(resource, predicate, type, value, binding);\r
+       }\r
+       \r
+       @Override\r
+       public void claimValue(Resource resource, Object value)\r
+                       throws ServiceException {\r
+               graph.claimValue(resource, value);\r
+       }\r
+       \r
+       @Override\r
+       public void claimValue(Resource resource, Object value, Binding binding)\r
+                       throws ServiceException {\r
+               graph.claimValue(resource, value, binding);     \r
+       }\r
+       \r
+       @SuppressWarnings("deprecation")\r
+       @Override\r
+       public void claimValue(Resource resource, Resource predicate,\r
+                       Object value) throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               graph.claimValue(resource, predicate, value);   \r
+       }\r
+       \r
+       @SuppressWarnings("deprecation")\r
+       @Override\r
+       public void claimValue(Resource resource, Resource predicate,\r
+                       Object value, Binding binding) throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.claimValue(resource, predicate, value, binding);\r
+       }\r
+       \r
+       @SuppressWarnings("deprecation")\r
+       @Override\r
+       public void claimValue(Resource resource, Resource predicate,\r
+                       Resource inverse, Resource type, Object value, Binding binding)\r
+                       throws BindingException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               graph.claimValue(resource, predicate, inverse, type, value, binding);\r
+       }\r
+       \r
+       @Override\r
+       public void deny(Resource subject) throws ServiceException {\r
+               graph.deny(subject);\r
+       }\r
+       \r
+       @Override\r
+       public void deny(Resource subject, Resource predicate)\r
+                       throws ServiceException {\r
+               graph.deny(subject, predicate);\r
+       }\r
+       \r
+       @Override\r
+       public void deny(Resource subject, Resource predicate,\r
+                       Resource inverse, Resource object) throws ServiceException {\r
+               graph.deny(subject, predicate, inverse, object);\r
+       }\r
+       \r
+       @Override\r
+       public void deny(Resource subject, Resource predicate, Resource object)\r
+                       throws ServiceException {\r
+               graph.deny(subject, predicate, object);\r
+       }\r
+       \r
+       @Override\r
+       public void deny(Statement statement) throws ServiceException {\r
+               graph.deny(statement);\r
+       }\r
+       \r
+\r
+       @Override\r
+       public void denyStatement(Resource subject, Resource predicate,\r
+                       Resource object) throws ServiceException {\r
+               graph.denyStatement(subject, predicate, object);\r
+       }\r
+       \r
+       @Override\r
+       public void denyValue(Resource resource) throws ServiceException {\r
+               graph.denyValue(resource);\r
+       }\r
+       \r
+       @Override\r
+       public void denyValue(Resource resource, Resource predicate)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               graph.denyValue(resource, predicate);\r
+       }\r
+       \r
+       @Override\r
+       public void flushCluster() throws ServiceException {\r
+               graph.flushCluster();\r
+       }\r
+       \r
+       @Override\r
+       public void flushCluster(Resource r) throws ServiceException {\r
+               graph.flushCluster(r);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void forAdapted(Resource resource, Class<T> clazz,\r
+                       AsyncListener<T> procedure) {\r
+               graph.forAdapted(resource, clazz, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void forAdapted(Resource resource, Class<T> clazz,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.forAdapted(resource, clazz, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void forAdapted(Resource resource, Class<T> clazz,\r
+                       Listener<T> procedure) {\r
+               graph.forAdapted(resource, clazz, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void forAdapted(Resource resource, Class<T> clazz,\r
+                       Procedure<T> procedure) {\r
+               graph.forAdapted(resource, clazz, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void forAdapted(Resource resource, Class<T> clazz,\r
+                       SyncListener<T> procedure) {\r
+               graph.forAdapted(resource, clazz, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public <T> void forAdapted(Resource resource, Class<T> clazz,\r
+                       SyncProcedure<T> procedure) {\r
+               graph.forAdapted(resource, clazz, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forAssertedObjectSet(Resource subject, Resource relation,\r
+                       AsyncSetListener<Resource> procedure) {\r
+               graph.forAssertedObjectSet(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forAssertedObjectSet(Resource subject, Resource relation,\r
+                       SetListener<Resource> procedure) {\r
+               graph.forAssertedObjectSet(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forAssertedObjectSet(Resource subject, Resource relation,\r
+                       SyncSetListener<Resource> procedure) {\r
+               graph.forAssertedObjectSet(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forAssertedStatementSet(Resource subject,\r
+                       Resource relation, AsyncSetListener<Statement> procedure) {\r
+               graph.forAssertedStatementSet(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forAssertedStatementSet(Resource subject,\r
+                       Resource relation, SetListener<Statement> procedure) {\r
+               graph.forAssertedStatementSet(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forAssertedStatementSet(Resource subject,\r
+                       Resource relation, SyncSetListener<Statement> procedure) {\r
+               graph.forAssertedStatementSet(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forBuiltin(String id, AsyncListener<Resource> procedure) {\r
+               graph.forBuiltin(id, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forBuiltin(String id, Listener<Resource> procedure) {\r
+               graph.forBuiltin(id, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forBuiltin(String id, AsyncProcedure<Resource> procedure) {\r
+               graph.forBuiltin(id, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forBuiltin(String id, Procedure<Resource> procedure) {\r
+               graph.forBuiltin(id, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forBuiltin(String id, SyncListener<Resource> procedure) {\r
+               graph.forBuiltin(id, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forBuiltin(String id, SyncProcedure<Resource> procedure) {\r
+               graph.forBuiltin(id, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forDirectSuperrelations(Resource subject,\r
+                       AsyncMultiProcedure<Resource> procedure) {\r
+               graph.forDirectSuperrelations(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachAssertedObject(Resource subject, Resource relation,\r
+                       AsyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachAssertedObject(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachAssertedObject(Resource subject, Resource relation,\r
+                       MultiProcedure<Resource> procedure) {\r
+               graph.forEachAssertedObject(subject, relation, procedure);      \r
+       }\r
+       \r
+       @Override\r
+       public void forEachAssertedObject(Resource subject, Resource relation,\r
+                       SyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachAssertedObject(subject, relation, procedure);      \r
+       }\r
+       \r
+       @Override\r
+       public void forEachAssertedStatement(Resource subject,\r
+                       Resource relation, AsyncMultiProcedure<Statement> procedure) {\r
+               graph.forEachAssertedStatement(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachAssertedStatement(Resource subject,\r
+                       Resource relation, MultiProcedure<Statement> procedure) {\r
+               graph.forEachAssertedStatement(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachAssertedStatement(Resource subject,\r
+                       Resource relation, SyncMultiProcedure<Statement> procedure) {\r
+               graph.forEachAssertedStatement(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachDirectObject(Resource subject, Resource relation,\r
+                       AsyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachDirectObject(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachDirectObject(Resource subject, Resource relation,\r
+                       MultiProcedure<Resource> procedure) {\r
+               graph.forEachDirectObject(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachDirectObject(Resource subject, Resource relation,\r
+                       SyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachDirectObject(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachDirectPredicate(Resource subject,\r
+                       AsyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachDirectPredicate(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachDirectPredicate(Resource subject,\r
+                       MultiProcedure<Resource> procedure) {\r
+               graph.forEachDirectPredicate(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachDirectPredicate(Resource subject,\r
+                       SyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachDirectPredicate(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachObject(Resource subject, Resource relation,\r
+                       AsyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachObject(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachObject(Resource subject, Resource relation,\r
+                       MultiProcedure<Resource> procedure) {\r
+               graph.forEachObject(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachObject(Resource subject, Resource relation,\r
+                       SyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachObject(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachPredicate(Resource subject,\r
+                       AsyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachPredicate(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachPredicate(Resource subject,\r
+                       MultiProcedure<Resource> procedure) {\r
+               graph.forEachPredicate(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachPredicate(Resource subject,\r
+                       SyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachPredicate(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachPrincipalType(Resource subject,\r
+                       AsyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachPrincipalType(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachPrincipalType(Resource subject,\r
+                       MultiProcedure<Resource> procedure) {\r
+               graph.forEachPrincipalType(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachPrincipalType(Resource subject,\r
+                       SyncMultiProcedure<Resource> procedure) {\r
+               graph.forEachPrincipalType(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachStatement(Resource subject, Resource relation,\r
+                       AsyncMultiProcedure<Statement> procedure) {\r
+               graph.forEachStatement(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachStatement(Resource subject, Resource relation,\r
+                       MultiProcedure<Statement> procedure) {\r
+               graph.forEachStatement(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forEachStatement(Resource subject, Resource relation,\r
+                       SyncMultiProcedure<Statement> procedure) {\r
+               graph.forEachStatement(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject,\r
+                       AsyncListener<Boolean> procedure) {\r
+               graph.forHasStatement(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject,\r
+                       AsyncProcedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject, procedure);      \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject,\r
+                       Listener<Boolean> procedure) {\r
+               graph.forHasStatement(subject, procedure);      \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject,\r
+                       Procedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       AsyncListener<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, procedure);    \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       AsyncProcedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       Listener<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       Procedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, procedure);    \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       Resource object, AsyncListener<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, object, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       Resource object, AsyncProcedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, object, procedure);    \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       Resource object, Listener<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, object, procedure);    \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       Resource object, Procedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, object, procedure);    \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       Resource object, SyncListener<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, object, procedure);    \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       Resource object, SyncProcedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, object, procedure);    \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       SyncListener<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation,  procedure);   \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject, Resource relation,\r
+                       SyncProcedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject, relation, procedure);    \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject,\r
+                       SyncListener<Boolean> procedure) {\r
+               graph.forHasStatement(subject,  procedure);     \r
+       }\r
+       \r
+       @Override\r
+       public void forHasStatement(Resource subject,\r
+                       SyncProcedure<Boolean> procedure) {\r
+               graph.forHasStatement(subject,  procedure);     \r
+       }\r
+       \r
+       @Override\r
+       public void forHasValue(Resource subject,\r
+                       AsyncListener<Boolean> procedure) {\r
+               graph.forHasValue(subject, procedure);\r
+       }\r
+       \r
+       @Override\r
+       public void forHasValue(Resource subject,\r
+                       AsyncProcedure<Boolean> procedure) {\r
+               graph.forHasValue(subject, procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public void forHasValue(Resource subject, Listener<Boolean> procedure) {\r
+               graph.forHasValue(subject, procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public void forHasValue(Resource subject, Procedure<Boolean> procedure) {\r
+               graph.forHasValue(subject, procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public void forHasValue(Resource subject,\r
+                       SyncListener<Boolean> procedure) {\r
+               graph.forHasValue(subject, procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public void forHasValue(Resource subject,\r
+                       SyncProcedure<Boolean> procedure) {\r
+               graph.forHasValue(subject, procedure);  \r
+       }\r
+       \r
+       @Override\r
+       public void forInverse(Resource relation,\r
+                       AsyncListener<Resource> procedure) {\r
+               graph.forInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getService(Class<T> api) throws ServiceNotFoundException {\r
+               return graph.getService(api);\r
+       }\r
+\r
+       @Override\r
+       public <T> T peekService(Class<T> api) {\r
+               return graph.peekService(api);\r
+       }\r
+\r
+       @Override\r
+       public boolean hasService(Class<?> api) {\r
+               return graph.hasService(api);\r
+       }\r
+\r
+       @Override\r
+       public <T> void registerService(Class<T> api, T service) {\r
+               graph.registerService(api, service);\r
+       }\r
+\r
+       @Override\r
+       public String getURI(Resource resource)\r
+                       throws ValidationException,\r
+                       ServiceException, AssumptionException {\r
+               return graph.getURI(resource);\r
+       }\r
+\r
+       @Override\r
+       public String getPossibleURI(Resource resource)\r
+                       throws ValidationException,\r
+                       ServiceException {\r
+               return graph.getPossibleURI(resource);\r
+       }\r
+\r
+       @Override\r
+       public Resource getResource(String uri)\r
+                       throws ResourceNotFoundException, ValidationException,\r
+                       ServiceException {\r
+               return graph.getResource(uri);\r
+       }\r
+\r
+       @Override\r
+       public Resource getPossibleResource(String uri)\r
+                       throws ResourceNotFoundException, ValidationException,\r
+                       ServiceException {\r
+               return graph.getPossibleResource(uri);\r
+       }\r
+\r
+       @Override\r
+       public Collection<Statement> getStatements(Resource subject,\r
+                       Resource relation)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               return graph.getStatements(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public Collection<Statement> getAssertedStatements(Resource subject,\r
+                       Resource relation)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               return graph.getAssertedStatements(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public Collection<Resource> getPredicates(Resource subject)\r
+                       throws ServiceException {\r
+               return graph.getPredicates(subject);\r
+       }\r
+\r
+       @Override\r
+       public Collection<Resource> getPrincipalTypes(Resource subject)\r
+                       throws ServiceException {\r
+               return graph.getPrincipalTypes(subject);\r
+       }\r
+\r
+       @Override\r
+       public Set<Resource> getTypes(Resource subject) throws ServiceException {\r
+               return graph.getTypes(subject);\r
+       }\r
+\r
+       @Override\r
+       public Set<Resource> getSupertypes(Resource subject)\r
+                       throws ServiceException {\r
+               return graph.getSupertypes(subject);\r
+       }\r
+\r
+       @Override\r
+       public Set<Resource> getSuperrelations(Resource subject)\r
+                       throws ServiceException {\r
+               return graph.getSuperrelations(subject);\r
+       }\r
+\r
+//     @Override\r
+//     public Collection<Resource> getObjects(Resource subject,\r
+//                     Resource relation)\r
+//                     throws ManyObjectsForFunctionalRelationException,\r
+//                     ServiceException {\r
+//             return graph.getObjects(subject, relation);\r
+//     }\r
+\r
+       @Override\r
+       public Collection<Resource> getAssertedObjects(Resource subject,\r
+                       Resource relation)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               return graph.getAssertedObjects(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public Resource getInverse(Resource relation)\r
+                       throws NoInverseException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               return graph.getInverse(relation);\r
+       }\r
+\r
+       @Override\r
+       public Resource getSingleObject(Resource subject, Resource relation)\r
+                       throws NoSingleResultException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               return graph.getSingleObject(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public Statement getSingleStatement(Resource subject, Resource relation)\r
+                       throws NoSingleResultException,\r
+                       ManyObjectsForFunctionalRelationException, ServiceException {\r
+               return graph.getSingleStatement(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public Resource getSingleType(Resource subject)\r
+                       throws NoSingleResultException, ServiceException {\r
+               return graph.getSingleType(subject);\r
+       }\r
+\r
+       @Override\r
+       public Resource getSingleType(Resource subject, Resource baseType)\r
+                       throws NoSingleResultException, ServiceException {\r
+               return graph.getSingleType(subject, baseType);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getValue(Resource subject)\r
+                       throws DoesNotContainValueException, ServiceException {\r
+               return graph.getValue(subject);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getValue(Resource subject, Binding binding)\r
+                       throws DoesNotContainValueException, BindingException,\r
+                       ServiceException {\r
+               return graph.getValue(subject, binding);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getRelatedValue(Resource subject, Resource relation)\r
+                       throws NoSingleResultException, DoesNotContainValueException,\r
+                       ServiceException {\r
+               return graph.getRelatedValue(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getRelatedValue(Resource subject, Resource relation,\r
+                       Binding binding) throws NoSingleResultException,\r
+                       DoesNotContainValueException, BindingException,\r
+                       ServiceException {\r
+               return graph.getRelatedValue(subject, relation, binding);\r
+       }\r
+\r
+       @Override\r
+       public Resource getPossibleInverse(Resource relation)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               return graph.getPossibleInverse(relation);\r
+       }\r
+\r
+       @Override\r
+       public Resource getPossibleObject(Resource subject, Resource relation)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               return graph.getPossibleObject(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public Statement getPossibleStatement(Resource subject,\r
+                       Resource relation)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               return graph.getPossibleStatement(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public Resource getPossibleType(Resource subject, Resource baseType)\r
+                       throws ServiceException {\r
+               return graph.getPossibleType(subject, baseType);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getPossibleValue(Resource subject) throws ServiceException {\r
+               return graph.getPossibleValue(subject);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getPossibleValue(Resource subject, Binding binding)\r
+                       throws BindingException, ServiceException {\r
+               return graph.getPossibleValue(subject, binding);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getPossibleRelatedValue(Resource subject, Resource relation)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       ServiceException {\r
+               return graph.getPossibleRelatedValue(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Binding binding)\r
+                       throws ManyObjectsForFunctionalRelationException,\r
+                       BindingException, ServiceException {\r
+               return graph.getPossibleRelatedValue(subject, relation, binding);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getPossibleAdapter(Resource resource, Class<T> clazz)\r
+                       throws ValidationException, ServiceException {\r
+               return graph.getPossibleAdapter(resource, clazz);\r
+       }\r
+\r
+       @Override\r
+       public <T> T getPossibleUniqueAdapter(Resource resource, Class<T> clazz)\r
+                       throws ValidationException, ServiceException {\r
+               return graph.getPossibleUniqueAdapter(resource, clazz);\r
+       }\r
+\r
+       @Override\r
+       public boolean isInstanceOf(Resource resource, Resource type)\r
+                       throws ServiceException {\r
+               return graph.isInstanceOf(resource, type);\r
+       }\r
+\r
+       @Override\r
+       public boolean isInheritedFrom(Resource resource, Resource type)\r
+                       throws ServiceException {\r
+               return graph.isInheritedFrom(resource, type);\r
+       }\r
+\r
+       @Override\r
+       public boolean isSubrelationOf(Resource resource, Resource relation)\r
+                       throws ServiceException {\r
+               return graph.isSubrelationOf(resource, relation);\r
+       }\r
+\r
+       @Override\r
+       public boolean hasStatement(Resource subject) throws ServiceException {\r
+               return graph.hasStatement(subject);\r
+       }\r
+\r
+       @Override\r
+       public boolean hasStatement(Resource subject, Resource relation)\r
+                       throws ServiceException {\r
+               return graph.hasStatement(subject, relation);\r
+       }\r
+\r
+       @Override\r
+       public boolean hasStatement(Resource subject, Resource relation,\r
+                       Resource object) throws ServiceException {\r
+               return graph.hasStatement(subject, relation, object);\r
+       }\r
+\r
+       @Override\r
+       public boolean hasValue(Resource subject) throws ServiceException {\r
+               return graph.hasValue(subject);\r
+       }\r
+\r
+       @Override\r
+       public Datatype getDataType(Resource subject) throws DatabaseException {\r
+               return graph.getDataType(subject);\r
+       }\r
+\r
+       @Override\r
+       public <T extends Accessor> T getAccessor(Resource subject)\r
+                       throws DatabaseException {\r
+               return graph.getAccessor(subject);\r
+       }\r
+\r
+    @Override\r
+    public RandomAccessBinary getRandomAccessBinary(Resource subject)\r
+            throws DatabaseException {\r
+        return graph.getRandomAccessBinary(subject);\r
+    }\r
+\r
+       @Override\r
+       public <T> T syncRequest(Read<T> request) throws DatabaseException {\r
+               return graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(Read<T> request, AsyncListener<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(Read<T> request, SyncListener<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(Read<T> request, Listener<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(Read<T> request, AsyncProcedure<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(Read<T> request, SyncProcedure<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(Read<T> request, Procedure<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(AsyncRead<T> request) throws DatabaseException {\r
+               return graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(AsyncRead<T> request,\r
+                       AsyncListener<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(AsyncRead<T> request, SyncListener<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(AsyncRead<T> request, Listener<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(AsyncRead<T> request,\r
+                       AsyncProcedure<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(AsyncRead<T> request,\r
+                       SyncProcedure<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(AsyncRead<T> request, Procedure<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(MultiRead<T> request)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
+                       AsyncMultiListener<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
+                       SyncMultiListener<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
+                       MultiListener<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
+                       AsyncMultiProcedure<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
+                       SyncMultiProcedure<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
+                       MultiProcedure<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
+                       AsyncMultiListener<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
+                       SyncMultiListener<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
+                       MultiListener<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
+                       AsyncMultiProcedure<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
+                       SyncMultiProcedure<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
+                       MultiProcedure<T> procedure) throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(ExternalRead<T> request)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(ExternalRead<T> request, Listener<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(ExternalRead<T> request, Procedure<T> procedure)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void syncRequest(Write request) throws DatabaseException {\r
+               graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public void syncRequest(DelayedWrite request) throws DatabaseException {\r
+               graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public void syncRequest(WriteOnly r) throws DatabaseException {\r
+               graph.syncRequest(r);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(WriteResult<T> request)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(DelayedWriteResult<T> request)\r
+                       throws DatabaseException {\r
+               return graph.syncRequest(request);\r
+       }\r
+\r
+       @Override\r
+       public <T> T syncRequest(WriteOnlyResult<T> r) throws DatabaseException {\r
+               return graph.syncRequest(r);\r
+       }\r
+\r
+       @Override\r
+       public void forURI(Resource resource, AsyncListener<String> procedure) {\r
+               graph.forURI(resource, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forURI(Resource resource, SyncListener<String> procedure) {\r
+               graph.forURI(resource, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forURI(Resource resource, Listener<String> procedure) {\r
+               graph.forURI(resource, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forURI(Resource resource, AsyncProcedure<String> procedure) {\r
+               graph.forURI(resource, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forURI(Resource resource, SyncProcedure<String> procedure) {\r
+               graph.forURI(resource, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forURI(Resource resource, Procedure<String> procedure) {\r
+               graph.forURI(resource, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forResource(String id, AsyncListener<Resource> procedure) {\r
+               graph.forResource(id, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forResource(String id, SyncListener<Resource> procedure) {\r
+               graph.forResource(id, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forResource(String id, Listener<Resource> procedure) {\r
+               graph.forResource(id, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forResource(String id, AsyncProcedure<Resource> procedure) {\r
+               graph.forResource(id, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forResource(String id, SyncProcedure<Resource> procedure) {\r
+               graph.forResource(id, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forResource(String id, Procedure<Resource> procedure) {\r
+               graph.forResource(id, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forStatementSet(Resource subject, Resource relation,\r
+                       AsyncSetListener<Statement> procedure) {\r
+               graph.forStatementSet(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forStatementSet(Resource subject, Resource relation,\r
+                       SyncSetListener<Statement> procedure) {\r
+               graph.forStatementSet(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forStatementSet(Resource subject, Resource relation,\r
+                       SetListener<Statement> procedure) {\r
+               graph.forStatementSet(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPredicateSet(Resource subject,\r
+                       AsyncSetListener<Resource> procedure) {\r
+               graph.forPredicateSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPredicateSet(Resource subject,\r
+                       SyncSetListener<Resource> procedure) {\r
+               graph.forPredicateSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPredicateSet(Resource subject,\r
+                       SetListener<Resource> procedure) {\r
+               graph.forPredicateSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPrincipalTypeSet(Resource subject,\r
+                       AsyncSetListener<Resource> procedure) {\r
+               graph.forPrincipalTypeSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPrincipalTypeSet(Resource subject,\r
+                       SyncSetListener<Resource> procedure) {\r
+               graph.forPrincipalTypeSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPrincipalTypeSet(Resource subject,\r
+                       SetListener<Resource> procedure) {\r
+               graph.forPrincipalTypeSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forTypes(Resource subject,\r
+                       AsyncListener<Set<Resource>> procedure) {\r
+               graph.forTypes(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forTypes(Resource subject,\r
+                       SyncListener<Set<Resource>> procedure) {\r
+               graph.forTypes(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forTypes(Resource subject, Listener<Set<Resource>> procedure) {\r
+               graph.forTypes(subject, procedure);             \r
+       }\r
+\r
+       @Override\r
+       public void forTypes(Resource subject,\r
+                       AsyncProcedure<Set<Resource>> procedure) {\r
+               graph.forTypes(subject, procedure);             \r
+       }\r
+\r
+       @Override\r
+       public void forTypes(Resource subject,\r
+                       SyncProcedure<Set<Resource>> procedure) {\r
+               graph.forTypes(subject, procedure);             \r
+       }\r
+\r
+       @Override\r
+       public void forTypes(Resource subject,\r
+                       Procedure<Set<Resource>> procedure) {\r
+               graph.forTypes(subject, procedure);             \r
+       }\r
+\r
+       @Override\r
+       public void forSupertypes(Resource subject,\r
+                       AsyncListener<Set<Resource>> procedure) {\r
+               graph.forSupertypes(subject, procedure);                \r
+       }\r
+\r
+       @Override\r
+       public void forSupertypes(Resource subject,\r
+                       SyncListener<Set<Resource>> procedure) {\r
+               graph.forSupertypes(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSupertypes(Resource subject,\r
+                       Listener<Set<Resource>> procedure) {\r
+               graph.forSupertypes(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSupertypes(Resource subject,\r
+                       AsyncProcedure<Set<Resource>> procedure) {\r
+               graph.forSupertypes(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSupertypes(Resource subject,\r
+                       SyncProcedure<Set<Resource>> procedure) {\r
+               graph.forSupertypes(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSupertypes(Resource subject,\r
+                       Procedure<Set<Resource>> procedure) {\r
+               graph.forSupertypes(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleSuperrelation(Resource subject,\r
+                       AsyncProcedure<Resource> procedure) {\r
+               graph.forPossibleSuperrelation(subject, procedure);             \r
+       }\r
+\r
+       @Override\r
+       public void forSuperrelations(Resource subject,\r
+                       AsyncListener<Set<Resource>> procedure) {\r
+               graph.forSuperrelations(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSuperrelations(Resource subject,\r
+                       SyncListener<Set<Resource>> procedure) {\r
+               graph.forSuperrelations(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSuperrelations(Resource subject,\r
+                       Listener<Set<Resource>> procedure) {\r
+               graph.forSuperrelations(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSuperrelations(Resource subject,\r
+                       AsyncProcedure<Set<Resource>> procedure) {\r
+               graph.forSuperrelations(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSuperrelations(Resource subject,\r
+                       SyncProcedure<Set<Resource>> procedure) {\r
+               graph.forSuperrelations(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSuperrelations(Resource subject,\r
+                       Procedure<Set<Resource>> procedure) {\r
+               graph.forSuperrelations(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forObjectSet(Resource subject, Resource relation,\r
+                       AsyncSetListener<Resource> procedure) {\r
+               graph.forObjectSet(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forObjectSet(Resource subject, Resource relation,\r
+                       SyncSetListener<Resource> procedure) {\r
+               graph.forObjectSet(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forObjectSet(Resource subject, Resource relation,\r
+                       SetListener<Resource> procedure) {\r
+               graph.forObjectSet(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forInverse(Resource relation,\r
+                       SyncListener<Resource> procedure) {\r
+               graph.forInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forInverse(Resource relation, Listener<Resource> procedure) {\r
+               graph.forInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forInverse(Resource relation,\r
+                       AsyncProcedure<Resource> procedure) {\r
+               graph.forInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forInverse(Resource relation,\r
+                       SyncProcedure<Resource> procedure) {\r
+               graph.forInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forInverse(Resource relation, Procedure<Resource> procedure) {\r
+               graph.forInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleObject(Resource subject, Resource relation,\r
+                       AsyncListener<Resource> procedure) {\r
+               graph.forSingleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleObject(Resource subject, Resource relation,\r
+                       SyncListener<Resource> procedure) {\r
+               graph.forSingleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleObject(Resource subject, Resource relation,\r
+                       Listener<Resource> procedure) {\r
+               graph.forSingleObject(subject, relation, procedure);            \r
+       }\r
+\r
+       @Override\r
+       public void forSingleObject(Resource subject, Resource relation,\r
+                       AsyncProcedure<Resource> procedure) {\r
+               graph.forSingleObject(subject, relation, procedure);            \r
+       }\r
+\r
+       @Override\r
+       public void forSingleObject(Resource subject, Resource relation,\r
+                       SyncProcedure<Resource> procedure) {\r
+               graph.forSingleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleObject(Resource subject, Resource relation,\r
+                       Procedure<Resource> procedure) {\r
+               graph.forSingleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleStatement(Resource subject, Resource relation,\r
+                       AsyncListener<Statement> procedure) {\r
+               graph.forSingleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleStatement(Resource subject, Resource relation,\r
+                       SyncListener<Statement> procedure) {\r
+               graph.forSingleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleStatement(Resource subject, Resource relation,\r
+                       Listener<Statement> procedure) {\r
+               graph.forSingleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleStatement(Resource subject, Resource relation,\r
+                       AsyncProcedure<Statement> procedure) {\r
+               graph.forSingleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleStatement(Resource subject, Resource relation,\r
+                       SyncProcedure<Statement> procedure) {\r
+               graph.forSingleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleStatement(Resource subject, Resource relation,\r
+                       Procedure<Statement> procedure) {\r
+               graph.forSingleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject,\r
+                       AsyncListener<Resource> procedure) {\r
+               graph.forSingleType(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject,\r
+                       SyncListener<Resource> procedure) {\r
+               graph.forSingleType(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject, Listener<Resource> procedure) {\r
+               graph.forSingleType(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject,\r
+                       AsyncProcedure<Resource> procedure) {\r
+               graph.forSingleType(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject,\r
+                       SyncProcedure<Resource> procedure) {\r
+               graph.forSingleType(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject,\r
+                       Procedure<Resource> procedure) {\r
+               graph.forSingleType(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject, Resource baseType,\r
+                       AsyncListener<Resource> procedure) {\r
+               graph.forSingleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject, Resource baseType,\r
+                       SyncListener<Resource> procedure) {\r
+               graph.forSingleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject, Resource baseType,\r
+                       Listener<Resource> procedure) {\r
+               graph.forSingleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject, Resource baseType,\r
+                       AsyncProcedure<Resource> procedure) {\r
+               graph.forSingleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject, Resource baseType,\r
+                       SyncProcedure<Resource> procedure) {\r
+               graph.forSingleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forSingleType(Resource subject, Resource baseType,\r
+                       Procedure<Resource> procedure) {\r
+               graph.forSingleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, AsyncListener<T> procedure) {\r
+               graph.forValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, SyncListener<T> procedure) {\r
+               graph.forValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, Listener<T> procedure) {\r
+               graph.forValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, AsyncProcedure<T> procedure) {\r
+               graph.forValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, SyncProcedure<T> procedure) {\r
+               graph.forValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, Procedure<T> procedure) {\r
+               graph.forValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, Binding binding,\r
+                       AsyncListener<T> procedure) {\r
+               graph.forValue(subject, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, Binding binding,\r
+                       SyncListener<T> procedure) {\r
+               graph.forValue(subject, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, Binding binding,\r
+                       Listener<T> procedure) {\r
+               graph.forValue(subject, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, Binding binding,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.forValue(subject, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, Binding binding,\r
+                       SyncProcedure<T> procedure) {\r
+               graph.forValue(subject, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forValue(Resource subject, Binding binding,\r
+                       Procedure<T> procedure) {\r
+               graph.forValue(subject, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       AsyncListener<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       SyncListener<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       Listener<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       SyncProcedure<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       Procedure<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       Binding binding, AsyncListener<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       Binding binding, SyncListener<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       Binding binding, Listener<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       Binding binding, AsyncProcedure<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       Binding binding, SyncProcedure<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forRelatedValue(Resource subject, Resource relation,\r
+                       Binding binding, Procedure<T> procedure) {\r
+               graph.forRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forUniqueAdapted(Resource resource, Class<T> clazz,\r
+                       AsyncListener<T> procedure) {\r
+               graph.forUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forUniqueAdapted(Resource resource, Class<T> clazz,\r
+                       SyncListener<T> procedure) {\r
+               graph.forUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forUniqueAdapted(Resource resource, Class<T> clazz,\r
+                       Listener<T> procedure) {\r
+               graph.forUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forUniqueAdapted(Resource resource, Class<T> clazz,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.forUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forUniqueAdapted(Resource resource, Class<T> clazz,\r
+                       SyncProcedure<T> procedure) {\r
+               graph.forUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forUniqueAdapted(Resource resource, Class<T> clazz,\r
+                       Procedure<T> procedure) {\r
+               graph.forUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleInverse(Resource relation,\r
+                       AsyncListener<Resource> procedure) {\r
+               graph.forPossibleInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleInverse(Resource relation,\r
+                       SyncListener<Resource> procedure) {\r
+               graph.forPossibleInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleInverse(Resource relation,\r
+                       Listener<Resource> procedure) {\r
+               graph.forPossibleInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleInverse(Resource relation,\r
+                       AsyncProcedure<Resource> procedure) {\r
+               graph.forPossibleInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleInverse(Resource relation,\r
+                       SyncProcedure<Resource> procedure) {\r
+               graph.forPossibleInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleInverse(Resource relation,\r
+                       Procedure<Resource> procedure) {\r
+               graph.forPossibleInverse(relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleObject(Resource subject, Resource relation,\r
+                       AsyncListener<Resource> procedure) {\r
+               graph.forPossibleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleObject(Resource subject, Resource relation,\r
+                       SyncListener<Resource> procedure) {\r
+               graph.forPossibleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleObject(Resource subject, Resource relation,\r
+                       Listener<Resource> procedure) {\r
+               graph.forPossibleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleObject(Resource subject, Resource relation,\r
+                       AsyncProcedure<Resource> procedure) {\r
+               graph.forPossibleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleObject(Resource subject, Resource relation,\r
+                       SyncProcedure<Resource> procedure) {\r
+               graph.forPossibleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleObject(Resource subject, Resource relation,\r
+                       Procedure<Resource> procedure) {\r
+               graph.forPossibleObject(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleStatement(Resource subject, Resource relation,\r
+                       AsyncListener<Statement> procedure) {\r
+               graph.forPossibleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleStatement(Resource subject, Resource relation,\r
+                       SyncListener<Statement> procedure) {\r
+               graph.forPossibleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleStatement(Resource subject, Resource relation,\r
+                       Listener<Statement> procedure) {\r
+               graph.forPossibleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleStatement(Resource subject, Resource relation,\r
+                       AsyncProcedure<Statement> procedure) {\r
+               graph.forPossibleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleStatement(Resource subject, Resource relation,\r
+                       SyncProcedure<Statement> procedure) {\r
+               graph.forPossibleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleStatement(Resource subject, Resource relation,\r
+                       Procedure<Statement> procedure) {\r
+               graph.forPossibleStatement(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleType(Resource subject, Resource baseType,\r
+                       AsyncListener<Resource> procedure) {\r
+               graph.forPossibleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleType(Resource subject, Resource baseType,\r
+                       SyncListener<Resource> procedure) {\r
+               graph.forPossibleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleType(Resource subject, Resource baseType,\r
+                       Listener<Resource> procedure) {\r
+               graph.forPossibleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleType(Resource subject, Resource baseType,\r
+                       AsyncProcedure<Resource> procedure) {\r
+               graph.forPossibleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleType(Resource subject, Resource baseType,\r
+                       SyncProcedure<Resource> procedure) {\r
+               graph.forPossibleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forPossibleType(Resource subject, Resource baseType,\r
+                       Procedure<Resource> procedure) {\r
+               graph.forPossibleType(subject, baseType, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject,\r
+                       AsyncListener<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject,\r
+                       SyncListener<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject, Listener<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject,\r
+                       SyncProcedure<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject,\r
+                       Procedure<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject, Binding binding,\r
+                       AsyncListener<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject, Binding binding,\r
+                       SyncListener<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject, Binding binding,\r
+                       Listener<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject, Binding binding,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject, Binding binding,\r
+                       SyncProcedure<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleValue(Resource subject, Binding binding,\r
+                       Procedure<T> procedure) {\r
+               graph.forPossibleValue(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, AsyncListener<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, SyncListener<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Listener<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, AsyncProcedure<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, SyncProcedure<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Procedure<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Binding binding, AsyncListener<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Binding binding, SyncListener<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Binding binding, Listener<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Binding binding, AsyncProcedure<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Binding binding, SyncProcedure<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleRelatedValue(Resource subject,\r
+                       Resource relation, Binding binding, Procedure<T> procedure) {\r
+               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleAdapted(Resource resource, Class<T> clazz,\r
+                       AsyncListener<T> procedure) {\r
+               graph.forPossibleAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleAdapted(Resource resource, Class<T> clazz,\r
+                       SyncListener<T> procedure) {\r
+               graph.forPossibleAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleAdapted(Resource resource, Class<T> clazz,\r
+                       Listener<T> procedure) {\r
+               graph.forPossibleAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleAdapted(Resource resource, Class<T> clazz,\r
+                       AsyncProcedure<T> procedure) {\r
+               graph.forPossibleAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleAdapted(Resource resource, Class<T> clazz,\r
+                       SyncProcedure<T> procedure) {\r
+               graph.forPossibleAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleAdapted(Resource resource, Class<T> clazz,\r
+                       Procedure<T> procedure) {\r
+               graph.forPossibleAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleUniqueAdapted(Resource resource,\r
+                       Class<T> clazz, AsyncListener<T> procedure) {\r
+               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleUniqueAdapted(Resource resource,\r
+                       Class<T> clazz, SyncListener<T> procedure) {\r
+               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleUniqueAdapted(Resource resource,\r
+                       Class<T> clazz, Listener<T> procedure) {\r
+               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleUniqueAdapted(Resource resource,\r
+                       Class<T> clazz, AsyncProcedure<T> procedure) {\r
+               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleUniqueAdapted(Resource resource,\r
+                       Class<T> clazz, SyncProcedure<T> procedure) {\r
+               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public <T> void forPossibleUniqueAdapted(Resource resource,\r
+                       Class<T> clazz, Procedure<T> procedure) {\r
+               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInstanceOf(Resource resource, Resource type,\r
+                       AsyncListener<Boolean> procedure) {\r
+               graph.forIsInstanceOf(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInstanceOf(Resource resource, Resource type,\r
+                       SyncListener<Boolean> procedure) {\r
+               graph.forIsInstanceOf(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInstanceOf(Resource resource, Resource type,\r
+                       Listener<Boolean> procedure) {\r
+               graph.forIsInstanceOf(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInstanceOf(Resource resource, Resource type,\r
+                       AsyncProcedure<Boolean> procedure) {\r
+               graph.forIsInstanceOf(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInstanceOf(Resource resource, Resource type,\r
+                       SyncProcedure<Boolean> procedure) {\r
+               graph.forIsInstanceOf(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInstanceOf(Resource resource, Resource type,\r
+                       Procedure<Boolean> procedure) {\r
+               graph.forIsInstanceOf(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInheritedFrom(Resource resource, Resource type,\r
+                       AsyncListener<Boolean> procedure) {\r
+               graph.forIsInheritedFrom(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInheritedFrom(Resource resource, Resource type,\r
+                       SyncListener<Boolean> procedure) {\r
+               graph.forIsInheritedFrom(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInheritedFrom(Resource resource, Resource type,\r
+                       Listener<Boolean> procedure) {\r
+               graph.forIsInheritedFrom(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInheritedFrom(Resource resource, Resource type,\r
+                       AsyncProcedure<Boolean> procedure) {\r
+               graph.forIsInheritedFrom(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInheritedFrom(Resource resource, Resource type,\r
+                       SyncProcedure<Boolean> procedure) {\r
+               graph.forIsInheritedFrom(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsInheritedFrom(Resource resource, Resource type,\r
+                       Procedure<Boolean> procedure) {\r
+               graph.forIsInheritedFrom(resource, type, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsSubrelationOf(Resource resource, Resource relation,\r
+                       AsyncListener<Boolean> procedure) {\r
+               graph.forIsSubrelationOf(resource, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsSubrelationOf(Resource resource, Resource relation,\r
+                       SyncListener<Boolean> procedure) {\r
+               graph.forIsSubrelationOf(resource, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsSubrelationOf(Resource resource, Resource relation,\r
+                       Listener<Boolean> procedure) {\r
+               graph.forIsSubrelationOf(resource, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsSubrelationOf(Resource resource, Resource relation,\r
+                       AsyncProcedure<Boolean> procedure) {\r
+               graph.forIsSubrelationOf(resource, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsSubrelationOf(Resource resource, Resource relation,\r
+                       SyncProcedure<Boolean> procedure) {\r
+               graph.forIsSubrelationOf(resource, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forIsSubrelationOf(Resource resource, Resource relation,\r
+                       Procedure<Boolean> procedure) {\r
+               graph.forIsSubrelationOf(resource, relation, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forOrderedSet(Resource subject,\r
+                       AsyncMultiListener<Resource> procedure) {\r
+               graph.forOrderedSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forOrderedSet(Resource subject,\r
+                       SyncMultiListener<Resource> procedure) {\r
+               graph.forOrderedSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forOrderedSet(Resource subject,\r
+                       MultiListener<Resource> procedure) {\r
+               graph.forOrderedSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forOrderedSet(Resource subject,\r
+                       AsyncMultiProcedure<Resource> procedure) {\r
+               graph.forOrderedSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forOrderedSet(Resource subject,\r
+                       SyncMultiProcedure<Resource> procedure) {\r
+               graph.forOrderedSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public void forOrderedSet(Resource subject,\r
+                       MultiProcedure<Resource> procedure) {\r
+               graph.forOrderedSet(subject, procedure);\r
+       }\r
+\r
+       @Override\r
+       public int thread() {\r
+               return graph.thread();\r
+       }\r
+\r
+       @Override\r
+       public Session getSession() {\r
+               return graph.getSession();\r
+       }\r
+\r
+       @Override\r
+       public Resource getBuiltin(String id) throws ResourceNotFoundException,\r
+                       ServiceException {\r
+               return graph.getBuiltin(id);\r
+       }\r
+       \r
+       @Override\r
+       public VirtualGraph getProvider() {\r
+               return graph.getProvider();\r
+       }\r
+\r
+}\r