]> gerrit.simantics Code Review - simantics/interop.git/commitdiff
fixes #4427
authorluukkainen <luukkainen@ac1ea38d-2e2b-0410-8846-a27921b304fc>
Fri, 20 Sep 2013 11:41:47 +0000 (11:41 +0000)
committerMarko Luukkainen <marko.luukkainen@vtt.fi>
Thu, 2 Feb 2017 12:01:33 +0000 (14:01 +0200)
git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@27864 ac1ea38d-2e2b-0410-8846-a27921b304fc

org.simantics.interop.mapping/src/org/simantics/interop/mapping/Mapper.java
org.simantics.interop.mapping/src/org/simantics/interop/mapping/SplittingWriteGraph.java [deleted file]
org.simantics.interop.mapping/src/org/simantics/interop/mapping/WriteGraphProxy.java [deleted file]

index 1c787cc6d335e862d097b6bc665def4e3ee8a93c..3414d4d05f17aafada5b733579783ae245974865 100644 (file)
@@ -394,39 +394,7 @@ public class Mapper {
                        return res.toString();\r
        }\r
        \r
-       public class WriteWrapper extends WriteGraphProxy {\r
-               \r
-               \r
-               private Collection<Resource> createdResources = new ArrayList<Resource>();\r
-               \r
-               public WriteWrapper(WriteGraph graph) {\r
-                       super(graph);\r
-               }\r
-               \r
-               public Collection<Resource> getCreatedResources() {\r
-                       return createdResources;\r
-               }\r
-               \r
-               public void clearCreated() {\r
-                       createdResources = new ArrayList<Resource>();\r
-               }\r
-               \r
-               @Override\r
-               public Resource newResource() throws ServiceException {\r
-                       Resource res = graph.newResource();\r
-                       createdResources.add(res);\r
-                       return res;\r
-               }\r
-               \r
-               @Override\r
-               public Resource newResource(long clusterId) throws ServiceException {\r
-                       Resource res = graph.newResource(clusterId);\r
-                       createdResources.add(res);\r
-                       return res;\r
-               }\r
-               \r
-               \r
-       }\r
+\r
        \r
        private void initializeRules(Session session, VirtualGraph vg, final Resource model ) throws DatabaseException{\r
                session.syncRequest(new WriteRequest(vg) {\r
diff --git a/org.simantics.interop.mapping/src/org/simantics/interop/mapping/SplittingWriteGraph.java b/org.simantics.interop.mapping/src/org/simantics/interop/mapping/SplittingWriteGraph.java
deleted file mode 100644 (file)
index fb2cbb5..0000000
+++ /dev/null
@@ -1,6299 +0,0 @@
-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.ReadGraph;\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.common.request.ReadRequest;\r
-import org.simantics.db.common.request.WriteRequest;\r
-import org.simantics.db.common.request.WriteResultRequest;\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
- * This is insane.\r
- * \r
- * @author Marko Luukkainen <marko.luukkainen@vtt.fi>\r
- *\r
- */\r
-public class SplittingWriteGraph implements WriteGraph {\r
-       \r
-       protected Session session;\r
-       \r
-       \r
-       @Override\r
-       public <T> T getRelatedValue2(final Resource subject, final Resource relation)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(new Read<T>() {\r
-                       @Override\r
-                       public T perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getRelatedValue2(subject, relation);\r
-                       }\r
-               });\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public <T> T getRelatedValue2(final Resource subject, final Resource relation, final Binding binding) throws DatabaseException {\r
-               return session.syncRequest(new Read<T>() {\r
-                       @Override\r
-                       public T perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getRelatedValue2(subject, relation, binding);\r
-                       }\r
-               });\r
-       }\r
-       \r
-       @Override\r
-       public <T> T getRelatedValue2(final Resource subject, final Resource relation, final Object context) throws DatabaseException {\r
-               return session.syncRequest(new Read<T>() {\r
-                       @Override\r
-                       public T perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getRelatedValue2(subject, relation, context);\r
-                       }\r
-               });\r
-       }\r
-       \r
-       @Override\r
-       public <T> T getRelatedValue2(final Resource subject, final Resource relation, final Object context, final Binding binding) throws DatabaseException {\r
-               return session.syncRequest(new Read<T>() {\r
-                       @Override\r
-                       public T perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getRelatedValue2(subject, relation, context, binding);\r
-                       }\r
-               });\r
-       }\r
-       \r
-       @Override\r
-       public <T> T getPossibleRelatedValue2(final Resource subject, final Resource relation)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(new Read<T>() {\r
-                       @Override\r
-                       public T perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getPossibleRelatedValue2(subject, relation);\r
-                       }\r
-               });\r
-       }\r
-       \r
-       @Override\r
-       public <T> T getPossibleRelatedValue2(final Resource subject, final Resource relation, final Binding binding) throws DatabaseException {\r
-               return session.syncRequest(new Read<T>() {\r
-                       @Override\r
-                       public T perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getPossibleRelatedValue2(subject, relation, binding);\r
-                       }\r
-               });\r
-       }\r
-       \r
-       @Override\r
-       public <T> T getPossibleRelatedValue2(final Resource subject, final Resource relation, final Object context) throws DatabaseException {\r
-               return session.syncRequest(new Read<T>() {\r
-                       @Override\r
-                       public T perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getPossibleRelatedValue2(subject, relation, context);\r
-                       }\r
-               });\r
-       }\r
-       \r
-       @Override\r
-       public <T> T getPossibleRelatedValue2(final Resource subject, final Resource relation, final Object context, final Binding binding) throws DatabaseException {\r
-               return session.syncRequest(new Read<T>() {\r
-                       @Override\r
-                       public T perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getPossibleRelatedValue2(subject, relation, context, binding);\r
-                       }\r
-               });\r
-       }\r
-       \r
-       @Override\r
-       public <T> void async(final ReadInterface<T> r, final AsyncListener<T> procedure) {\r
-               session.async(r, procedure);\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public <T> void async(final ReadInterface<T> r, final AsyncProcedure<T> procedure) {\r
-               session.async(r, procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void async(final ReadInterface<T> r, final Listener<T> procedure) {\r
-               session.async(r, procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void async(final ReadInterface<T> r, final Procedure<T> procedure) {\r
-               session.async(r, procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void async(final ReadInterface<T> r, final SyncListener<T> procedure) {\r
-               session.async(r, procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void async(final ReadInterface<T> r, final SyncProcedure<T> procedure) {\r
-               session.async(r, procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void async(final WriteInterface<T> r) {\r
-               session.async(r);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void async(final WriteInterface<T> r, final Procedure<T> procedure) {\r
-               session.async(r, procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> T sync(final ReadInterface<T> r) throws DatabaseException {\r
-               return session.sync(r);\r
-       }\r
-       \r
-       @Override\r
-       public <T> T sync(final WriteInterface<T> r) throws DatabaseException {\r
-               return session.sync(r);\r
-       }\r
-       \r
-       @Override\r
-       public Resource getRootLibrary() {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getRootLibrary();\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       return null;\r
-               }\r
-       }\r
-       \r
-       \r
-       @Override\r
-       public void clearUndoList(final WriteTraits writeTraits) {\r
-               throw new RuntimeException("Not supported.");\r
-       }\r
-       \r
-       @Override\r
-       public void combineWithPrevious(WriteTraits writeTraits) {\r
-               throw new RuntimeException("Not supported.");\r
-       }\r
-       \r
-       @Override\r
-       public TreeMap<String, byte[]> getMetadata() {\r
-               try {\r
-                       return session.syncRequest(new WriteResultRequest<TreeMap<String, byte[]>>() {\r
-                               \r
-                               @Override\r
-                               public TreeMap<String, byte[]> perform(WriteGraph graph) throws DatabaseException {\r
-                                       return graph.getMetadata();\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       return null;\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public <T extends Metadata> T getMetadata(final Class<T> clazz)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new WriteResultRequest<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(WriteGraph graph) throws DatabaseException {\r
-                                       return graph.getMetadata(clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public Type getRelatedValueType(final Resource subject, final Resource relation)\r
-                       throws DatabaseException {\r
-\r
-               return session.syncRequest(new Read<Type>() {\r
-                       \r
-                       @Override\r
-                       public Type perform(ReadGraph graph) throws DatabaseException {\r
-                               return graph.getRelatedValueType(subject, relation);\r
-                       }\r
-               });\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void deny(final Resource subject, final Resource predicate, final Resource inverse, final Resource object, final VirtualGraph vgraph) throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.deny(subject, predicate, inverse, object, vgraph);\r
-                                       \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       \r
-       \r
-       \r
-       @Override\r
-       public <T> T adaptRelated(final Resource resource, final Resource relation,\r
-                       final Class<T> clazz) throws AdaptionException, NoSingleResultException,\r
-                       ValidationException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.adaptRelated(resource, relation, clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public <T> T getPossibleRelatedAdapter(final Resource resource,\r
-                       final Resource relation, final Class<T> clazz) throws ValidationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getPossibleRelatedAdapter(resource, relation, clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ValidationException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void inc() {\r
-               throw new RuntimeException("Not supported.");\r
-       }\r
-       \r
-       @Override\r
-       public void dec() {\r
-               throw new RuntimeException("Not supported.");\r
-       }\r
-       \r
-       @Override\r
-       public Collection<Resource> getObjects(final Resource subject, final Resource relation) throws ServiceException \r
-                       {\r
-               try {\r
-                       return session.syncRequest(new Read<Collection<Resource>>() {\r
-                               \r
-                               @Override\r
-                               public Collection<Resource> perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getObjects(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public <T extends Accessor> T newLiteral(final Resource resource,\r
-       final Resource predicate, final Datatype datatype, final Object initialValue)\r
-       throws DatabaseException {\r
-               return session.syncRequest(new WriteResultRequest<T>() {\r
-                       \r
-                       @Override\r
-                       public T perform(WriteGraph graph) throws DatabaseException {\r
-                               return graph.newLiteral(resource, predicate, datatype, initialValue);\r
-                       }\r
-               });\r
-       }\r
-\r
-       public RandomAccessBinary createRandomAccessBinary(final Resource resource, final Resource predicate, final Datatype datatype, final Object initialValue) throws DatabaseException {\r
-        return session.syncRequest(new WriteResultRequest<RandomAccessBinary>() {\r
-            @Override\r
-            public RandomAccessBinary perform(WriteGraph graph) throws DatabaseException {\r
-                return graph.createRandomAccessBinary(resource, predicate, datatype, initialValue);\r
-            }\r
-        });\r
-    }\r
-\r
-    public RandomAccessBinary createRandomAccessBinary(final Resource resource, final Datatype datatype, final Object initialValue) throws DatabaseException {\r
-        return session.syncRequest(new WriteResultRequest<RandomAccessBinary>() {\r
-            @Override\r
-            public RandomAccessBinary perform(WriteGraph graph) throws DatabaseException {\r
-                return graph.createRandomAccessBinary(resource, datatype, initialValue);\r
-            }\r
-        });\r
-    }\r
-\r
-       public <T, C> T adaptContextual(final Resource resource, final  C context, final java.lang.Class<C> contextClass, final java.lang.Class<T> clazz) throws AdaptionException ,NoSingleResultException ,ValidationException ,ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.adaptContextual(resource, context, contextClass, clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       };\r
-       \r
-       public <T, C> T getPossibleContextualAdapter(final Resource resource, final C context, final java.lang.Class<C> contextClass, final java.lang.Class<T> clazz) throws ValidationException ,ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getPossibleContextualAdapter(resource, context, contextClass, clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       };\r
-       \r
-       \r
-       public SplittingWriteGraph(Session session) {\r
-               this.session = session;\r
-       }\r
-       \r
-       @Override\r
-       public Resource newResource() throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new WriteResultRequest<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(WriteGraph graph) throws DatabaseException {\r
-                                       return graph.newResource();\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-                \r
-       }\r
-       \r
-       @Override\r
-       public Resource newResource(final long clusterId) throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new WriteResultRequest<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(WriteGraph graph) throws DatabaseException {\r
-                                       return graph.newResource(clusterId);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-    @Override\r
-    public Resource newResource(final Resource clusterSet) throws ServiceException {\r
-        try {\r
-            return session.syncRequest(new WriteResultRequest<Resource>() {\r
-                \r
-                @Override\r
-                public Resource perform(WriteGraph graph) throws DatabaseException {\r
-                    return graph.newResource(clusterSet);\r
-                }\r
-            });\r
-        } catch (DatabaseException e) {\r
-            throw new ServiceException(e);\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public void newClusterSet(final Resource clusterSet) throws ServiceException {\r
-        try {\r
-            session.syncRequest(new WriteRequest() {\r
-                @Override\r
-                public void perform(WriteGraph graph) throws DatabaseException {\r
-                    graph.newClusterSet(clusterSet);\r
-                }\r
-            });\r
-        } catch (DatabaseException e) {\r
-            throw new ServiceException(e);\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public Resource setClusterSet4NewResource(final Resource clusterSet) throws ServiceException {\r
-        try {\r
-            return session.syncRequest(new WriteResultRequest<Resource>() {\r
-                \r
-                @Override\r
-                public Resource perform(WriteGraph graph) throws DatabaseException {\r
-                    return graph.newResource(clusterSet);\r
-                }\r
-            });\r
-        } catch (DatabaseException e) {\r
-            throw new ServiceException(e);\r
-        }\r
-    }\r
-    @Override\r
-       public <T> T adapt(final Resource resource, final Class<T> clazz)\r
-                       throws AdaptionException, ValidationException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.adapt(resource, clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public <T> T adaptUnique(final Resource resource, final Class<T> clazz)\r
-                       throws AdaptionException, ValidationException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.adaptUnique(resource, clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void addLiteral(final Resource resource, final Resource predicate,\r
-                       final Resource inverse, final Object value, final Binding binding)\r
-                       throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.addLiteral(resource, predicate, inverse, value, binding);\r
-                                       \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void addLiteral(final Resource resource, final Resource predicate,\r
-                       final Resource inverse, final Resource type, final Object value, final Binding binding)\r
-                       throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.addLiteral(resource, predicate, inverse, type, value, binding);\r
-                                       \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public <T> void addMetadata(Metadata data) throws ServiceException {\r
-               throw new RuntimeException("Not supported.");\r
-       }\r
-       \r
-       @Override\r
-       @Deprecated\r
-       public void addValue(final Resource resource, final Resource predicate,\r
-                       final Resource inverse, final Resource type, final Object value, final Binding binding)\r
-                       throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.addValue(resource, predicate, inverse, type, value, binding);\r
-                                       \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(final AsyncMultiRead<T> request) {\r
-               session.asyncRequest(request);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
-                       AsyncMultiListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
-                       AsyncMultiProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
-                       MultiListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
-                       MultiProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
-                       SyncMultiListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncMultiRead<T> request,\r
-                       SyncMultiProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncRead<T> request) {\r
-               session.asyncRequest(request);  \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncRead<T> request,\r
-                       AsyncListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncRead<T> request,\r
-                       AsyncProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncRead<T> request, Listener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncRead<T> request,\r
-                       Procedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncRead<T> request,\r
-                       SyncListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(AsyncRead<T> request,\r
-                       SyncProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public void asyncRequest(DelayedWrite request) {\r
-               session.asyncRequest(request);  \r
-       }\r
-       \r
-       @Override\r
-       public void asyncRequest(DelayedWrite request,\r
-                       Callback<DatabaseException> callback) {\r
-               session.asyncRequest(request,callback); \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(DelayedWriteResult<T> r,\r
-                       Procedure<T> procedure) {\r
-               session.asyncRequest(r,procedure);      \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(ExternalRead<T> request) {\r
-               session.asyncRequest(request);  \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(ExternalRead<T> request,\r
-                       Listener<T> procedure) {\r
-               session.asyncRequest(request,procedure);\r
-       }       \r
-       \r
-       @Override\r
-       public <T> void asyncRequest(ExternalRead<T> request,\r
-                       Procedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);\r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(MultiRead<T> request) {\r
-               session.asyncRequest(request);  \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(MultiRead<T> request,\r
-                       AsyncMultiListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(MultiRead<T> request,\r
-                       AsyncMultiProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(MultiRead<T> request,\r
-                       MultiListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(MultiRead<T> request,\r
-                       MultiProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(MultiRead<T> request,\r
-                       SyncMultiListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(MultiRead<T> request,\r
-                       SyncMultiProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(Read<T> request) {\r
-               session.asyncRequest(request);  \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(Read<T> request, AsyncListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(Read<T> request,\r
-                       AsyncProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(Read<T> request, Listener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(Read<T> request, Procedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(Read<T> request, SyncListener<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(Read<T> request, SyncProcedure<T> procedure) {\r
-               session.asyncRequest(request,procedure);        \r
-       }\r
-       \r
-       @Override\r
-       public void asyncRequest(Write request) {\r
-               session.asyncRequest(request);  \r
-       }\r
-       \r
-       @Override\r
-       public void asyncRequest(Write request,\r
-                       Callback<DatabaseException> callback) {\r
-               session.asyncRequest(request, callback);        \r
-       }\r
-       \r
-       @Override\r
-       public void asyncRequest(WriteOnly r) {\r
-               session.asyncRequest(r);        \r
-       }\r
-       \r
-       @Override\r
-       public void asyncRequest(WriteOnly r,\r
-                       Callback<DatabaseException> callback) {\r
-               session.asyncRequest(r,callback);       \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(WriteOnlyResult<T> r,\r
-                       Procedure<T> procedure) {\r
-               session.asyncRequest(r,procedure);      \r
-       }\r
-       \r
-       @Override\r
-       public <T> void asyncRequest(WriteResult<T> r, Procedure<T> procedure) {\r
-               session.asyncRequest(r,procedure);      \r
-       }\r
-       \r
-       \r
-       \r
-       @Override\r
-       public void claim(final Resource subject, final Resource predicate,\r
-                       final Resource inverse, final Resource object) throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claim(subject, predicate, inverse, object);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void claim(final Resource subject, final Resource predicate, final Resource object)\r
-                       throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claim(subject, predicate, object);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-\r
-       @Override\r
-       public void claimLiteral(final Resource resource, final Resource predicate,\r
-                       final Object value) throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimLiteral(resource, predicate, value);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void claimLiteral(final Resource resource, final Resource predicate,\r
-                       final Object value, final Binding binding) throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimLiteral(resource, predicate, value, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void claimLiteral(final Resource resource, final Resource predicate,\r
-                       final Resource inverse, final Resource type, final Object value)\r
-                       throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimLiteral(resource, predicate, inverse, type, value);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void claimLiteral(final Resource resource, final Resource predicate,\r
-                       final Resource inverse, final Resource type, final Object value, final Binding binding)\r
-                       throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimLiteral(resource, predicate, inverse, type, value, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void claimLiteral(final Resource resource, final Resource predicate,\r
-                       final Resource type, final Object value) throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimLiteral(resource, predicate, type, value);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void claimLiteral(final Resource resource, final Resource predicate,\r
-                       final Resource type, final Object value, final Binding binding)\r
-                       throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimLiteral(resource, predicate, type, value, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void claimValue(final Resource resource, final Object value)\r
-                       throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimValue(resource, value);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void claimValue(final Resource resource, final Object value, final Binding binding)\r
-                       throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimValue(resource, value, binding);     \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @SuppressWarnings("deprecation")\r
-       @Override\r
-       public void claimValue(final Resource resource, final Resource predicate,\r
-                       final Object value) throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimValue(resource, predicate, value);   \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @SuppressWarnings("deprecation")\r
-       @Override\r
-       public void claimValue(final Resource resource, final Resource predicate,\r
-                       final Object value, final Binding binding) throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimValue(resource, predicate, value, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @SuppressWarnings("deprecation")\r
-       @Override\r
-       public void claimValue(final Resource resource, final Resource predicate,\r
-                       final Resource inverse, final Resource type, final Object value, final Binding binding)\r
-                       throws BindingException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.claimValue(resource, predicate, inverse, type, value, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void deny(final Resource subject) throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.deny(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void deny(final Resource subject, final Resource predicate)\r
-                       throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.deny(subject, predicate);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void deny(final Resource subject, final Resource predicate,\r
-                       final Resource inverse, final Resource object) throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.deny(subject, predicate, inverse, object);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void deny(final Resource subject, final Resource predicate, final Resource object)\r
-                       throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.deny(subject, predicate, object);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void deny(final Statement statement) throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.deny(statement);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-\r
-       @Override\r
-       public void denyStatement(final Resource subject, final Resource predicate,\r
-                       final Resource object) throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.denyStatement(subject, predicate, object);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void denyValue(final Resource resource) throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.denyValue(resource);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void denyValue(final Resource resource, final Resource predicate)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.denyValue(resource, predicate);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void flushCluster() throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.flushCluster();\r
-                                       \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void flushCluster(final Resource r) throws ServiceException {\r
-               try {\r
-                       session.syncRequest(new WriteRequest() {\r
-                               \r
-                               @Override\r
-                               public void perform(WriteGraph graph) throws DatabaseException {\r
-                                       graph.flushCluster(r);\r
-                                       \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public <T> void forAdapted(final Resource resource, final Class<T> clazz,\r
-                       final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public <T> void forAdapted(final Resource resource, final Class<T> clazz,\r
-                       final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public <T> void forAdapted(final Resource resource, final Class<T> clazz,\r
-                       final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public <T> void forAdapted(final Resource resource, final Class<T> clazz,\r
-                       final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public <T> void forAdapted(final Resource resource, final Class<T> clazz,\r
-                       final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public <T> void forAdapted(final Resource resource, final Class<T> clazz,\r
-                       final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forAssertedObjectSet(final Resource subject, final Resource relation,\r
-                       final AsyncSetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAssertedObjectSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void forAssertedObjectSet(final Resource subject, final Resource relation,\r
-                       final SetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAssertedObjectSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forAssertedObjectSet(final Resource subject, final Resource relation,\r
-                       final SyncSetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAssertedObjectSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forAssertedStatementSet(final Resource subject,\r
-                       final Resource relation, final AsyncSetListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAssertedStatementSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forAssertedStatementSet(final Resource subject,\r
-                       final Resource relation, final SetListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAssertedStatementSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forAssertedStatementSet(final Resource subject,\r
-                       final Resource relation, final SyncSetListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forAssertedStatementSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forBuiltin(final String id, final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forBuiltin(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void forBuiltin(final String id, final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forBuiltin(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forBuiltin(final String id, final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forBuiltin(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forBuiltin(final String id, final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forBuiltin(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forBuiltin(final String id, final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forBuiltin(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forBuiltin(final String id, final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forBuiltin(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forDirectSuperrelations(final Resource subject,\r
-                       final AsyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forDirectSuperrelations(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachAssertedObject(final Resource subject, final Resource relation,\r
-                       final AsyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachAssertedObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachAssertedObject(final Resource subject, final Resource relation,\r
-                       final MultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachAssertedObject(subject, relation, procedure);      \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachAssertedObject(final Resource subject, final Resource relation,\r
-                       final SyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachAssertedObject(subject, relation, procedure);      \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachAssertedStatement(final Resource subject,\r
-                       final Resource relation, final AsyncMultiProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachAssertedStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachAssertedStatement(final Resource subject,\r
-                       final Resource relation, final MultiProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachAssertedStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachAssertedStatement(final Resource subject,\r
-                       final Resource relation, final SyncMultiProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachAssertedStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-//     @Override\r
-//     public void forEachDirectObject(final Resource subject, final Resource relation,\r
-//                     final AsyncMultiProcedure<Resource> procedure) {\r
-//             try {\r
-//                     session.syncRequest(new ReadRequest() {\r
-//                             \r
-//                             @Override\r
-//                             public void run(ReadGraph graph) throws DatabaseException {\r
-//                                     graph.forEachDirectObject(subject, relation, procedure);\r
-//                             }\r
-//                     });\r
-//             } catch (DatabaseException e) {\r
-//                             \r
-//             }\r
-//     }\r
-//     \r
-//     @Override\r
-//     public void forEachDirectObject(final Resource subject, final Resource relation,\r
-//                     final MultiProcedure<Resource> procedure) {\r
-//             try {\r
-//                     session.syncRequest(new ReadRequest() {\r
-//                             \r
-//                             @Override\r
-//                             public void run(ReadGraph graph) throws DatabaseException {\r
-//                                     graph.forEachDirectObject(subject, relation, procedure);\r
-//                             }\r
-//                     });\r
-//             } catch (DatabaseException e) {\r
-//                             \r
-//             }\r
-//     }\r
-//     \r
-//     @Override\r
-//     public void forEachDirectObject(final Resource subject, final Resource relation,\r
-//                     final SyncMultiProcedure<Resource> procedure) {\r
-//             try {\r
-//                     session.syncRequest(new ReadRequest() {\r
-//                             \r
-//                             @Override\r
-//                             public void run(ReadGraph graph) throws DatabaseException {\r
-//                                     graph.forEachDirectObject(subject, relation, procedure);\r
-//                             }\r
-//                     });\r
-//             } catch (DatabaseException e) {\r
-//                             \r
-//             }\r
-//     }\r
-       \r
-       @Override\r
-       public void forEachDirectPredicate(final Resource subject,\r
-                       final AsyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachDirectPredicate(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachDirectPredicate(final Resource subject,\r
-                       final MultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachDirectPredicate(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachDirectPredicate(final Resource subject,\r
-                       final SyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachDirectPredicate(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachObject(final Resource subject, final Resource relation,\r
-                       final AsyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachObject(final Resource subject, final Resource relation,\r
-                       final MultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachObject(final Resource subject, final Resource relation,\r
-                       final SyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachPredicate(final Resource subject,\r
-                       final AsyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachPredicate(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachPredicate(final Resource subject,\r
-                       final MultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachPredicate(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachPredicate(final Resource subject,\r
-                       final SyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachPredicate(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachPrincipalType(final Resource subject,\r
-                       final AsyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachPrincipalType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachPrincipalType(final Resource subject,\r
-                       final MultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachPrincipalType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachPrincipalType(final Resource subject,\r
-                       final SyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachPrincipalType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachStatement(final Resource subject, final Resource relation,\r
-                       final AsyncMultiProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachStatement(final Resource subject, final Resource relation,\r
-                       final MultiProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forEachStatement(final Resource subject, final Resource relation,\r
-                       final SyncMultiProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forEachStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject,\r
-                       final AsyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject,\r
-                       final AsyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, procedure);      \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject,\r
-                       final Listener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, procedure);      \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject,\r
-                       final Procedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-               \r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final AsyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, procedure);    \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final AsyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final Listener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final Procedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, procedure);    \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final Resource object, final AsyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, object, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final Resource object, final AsyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, object, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final Resource object, final Listener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, object, procedure);    \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final Resource object, final Procedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, object, procedure);    \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final Resource object, final SyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, object, procedure);    \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final Resource object, final SyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, object, procedure);    \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final SyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation,  procedure);   \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject, final Resource relation,\r
-                       final SyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject,\r
-                       final SyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject,  procedure);     \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasStatement(final Resource subject,\r
-                       final SyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasStatement(subject,  procedure);     \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasValue(final Resource subject,\r
-                       final AsyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasValue(final Resource subject,\r
-                       final AsyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasValue(subject, procedure);  \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasValue(final Resource subject, final Listener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasValue(subject, procedure);  \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasValue(final Resource subject, final Procedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasValue(subject, procedure);  \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasValue(final Resource subject,\r
-                       final SyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasValue(subject, procedure);  \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forHasValue(final Resource subject,\r
-                       final SyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forHasValue(subject, procedure);  \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-       \r
-       @Override\r
-       public void forInverse(final Resource relation,\r
-                       final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                               \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getService(Class<T> api) throws ServiceNotFoundException {\r
-               return session.getService(api);\r
-       }\r
-\r
-       @Override\r
-       public <T> T peekService(Class<T> api) {\r
-               return session.peekService(api);\r
-       }\r
-\r
-       @Override\r
-       public boolean hasService(Class<?> api) {\r
-               return session.hasService(api);\r
-       }\r
-\r
-       @Override\r
-       public <T> void registerService(Class<T> api, T service) {\r
-               session.registerService(api, service);\r
-       }\r
-\r
-       @Override\r
-       public String getURI(final Resource resource)\r
-                       throws ValidationException,\r
-                       ServiceException, AssumptionException {\r
-               try {\r
-                       return session.syncRequest(new Read<String>() {\r
-                               \r
-                               @Override\r
-                               public String perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getURI(resource);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-               \r
-       }\r
-\r
-       @Override\r
-       public String getPossibleURI(final Resource resource)\r
-                       throws ValidationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<String>() {\r
-                               \r
-                               @Override\r
-                               public String perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getPossibleURI(resource);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getResource(final String uri)\r
-                       throws ResourceNotFoundException, ValidationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getResource(uri);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getPossibleResource(final String uri)\r
-                       throws ResourceNotFoundException, ValidationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getPossibleResource(uri);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Collection<Statement> getStatements(final Resource subject,\r
-                       final Resource relation)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Collection<Statement>>() {\r
-                               \r
-                               @Override\r
-                               public Collection<Statement> perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getStatements(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Collection<Statement> getAssertedStatements(final Resource subject,\r
-                       final Resource relation)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Collection<Statement>>() {\r
-                               \r
-                               @Override\r
-                               public Collection<Statement> perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getAssertedStatements(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Collection<Resource> getPredicates(final Resource subject)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Collection<Resource>>() {\r
-                               \r
-                               @Override\r
-                               public Collection<Resource> perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getPredicates(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Collection<Resource> getPrincipalTypes(final Resource subject)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Collection<Resource>>() {\r
-                               \r
-                               @Override\r
-                               public Collection<Resource> perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getPrincipalTypes(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Set<Resource> getTypes(final Resource subject) throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Set<Resource>>() {\r
-                               \r
-                               @Override\r
-                               public Set<Resource> perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getTypes(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Set<Resource> getSupertypes(final Resource subject)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Set<Resource>>() {\r
-                               \r
-                               @Override\r
-                               public Set<Resource> perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getSupertypes(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Set<Resource> getSuperrelations(final Resource subject)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Set<Resource>>() {\r
-                               \r
-                               @Override\r
-                               public Set<Resource> perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getSuperrelations(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       public Resource getPossibleSuperrelation(final Resource subject) throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getPossibleSuperrelation(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-//     @Override\r
-//     public Collection<Resource> getObjects(final 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(final Resource subject, final Resource relation)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Collection<Resource>>() {\r
-                               \r
-                               @Override\r
-                               public Collection<Resource> perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getAssertedObjects(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getInverse(final Resource relation)\r
-                       throws NoInverseException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getInverse(relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getSingleObject(final Resource subject, final Resource relation)\r
-                       throws NoSingleResultException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getSingleObject(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Statement getSingleStatement(final Resource subject, final Resource relation)\r
-                       throws NoSingleResultException,\r
-                       ManyObjectsForFunctionalRelationException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Statement>() {\r
-                               \r
-                               @Override\r
-                               public Statement perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getSingleStatement(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getSingleType(final Resource subject)\r
-                       throws NoSingleResultException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getSingleType(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getSingleType(final Resource subject, final Resource baseType)\r
-                       throws NoSingleResultException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getSingleType(subject, baseType);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getValue(final Resource subject)\r
-                       throws DoesNotContainValueException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getValue(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getValue(final Resource subject, final Binding binding)\r
-                       throws DoesNotContainValueException, BindingException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getValue(subject, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getRelatedValue(final Resource subject, final Resource relation)\r
-                       throws NoSingleResultException, DoesNotContainValueException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getRelatedValue(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getRelatedValue(final Resource subject, final Resource relation,\r
-                       final Binding binding) throws NoSingleResultException,\r
-                       DoesNotContainValueException, BindingException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getRelatedValue(subject, relation, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getPossibleInverse(final Resource relation)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleInverse(relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getPossibleObject(final Resource subject, final Resource relation)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleObject(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Statement getPossibleStatement(final Resource subject,\r
-                       final Resource relation)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Statement>() {\r
-                               \r
-                               @Override\r
-                               public Statement perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleStatement(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Resource getPossibleType(final Resource subject, final Resource baseType)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleType(subject, baseType);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getPossibleValue(final Resource subject) throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleValue(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getPossibleValue(final Resource subject, final Binding binding)\r
-                       throws BindingException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleValue(subject, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getPossibleRelatedValue(final Resource subject, final Resource relation)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleRelatedValue(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Binding binding)\r
-                       throws ManyObjectsForFunctionalRelationException,\r
-                       BindingException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleRelatedValue(subject, relation, binding);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getPossibleAdapter(final Resource resource, final Class<T> clazz)\r
-                       throws ValidationException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleAdapter(resource, clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> T getPossibleUniqueAdapter(final Resource resource, final Class<T> clazz)\r
-                       throws ValidationException, ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getPossibleUniqueAdapter(resource, clazz);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public boolean isInstanceOf(final Resource resource, final Resource type)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Boolean>() {\r
-                               \r
-                               @Override\r
-                               public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.isInstanceOf(resource, type);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public boolean isInheritedFrom(final Resource resource, final Resource type)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Boolean>() {\r
-                               \r
-                               @Override\r
-                               public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.isInheritedFrom(resource, type);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public boolean isSubrelationOf(final Resource resource, final Resource relation)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Boolean>() {\r
-                               \r
-                               @Override\r
-                               public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.isSubrelationOf(resource, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public boolean hasStatement(final Resource subject) throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Boolean>() {\r
-                               \r
-                               @Override\r
-                               public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.hasStatement(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public boolean hasStatement(final Resource subject, final Resource relation)\r
-                       throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Boolean>() {\r
-                               \r
-                               @Override\r
-                               public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.hasStatement(subject, relation);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public boolean hasStatement(final Resource subject, final Resource relation,\r
-                       final Resource object) throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Boolean>() {\r
-                               \r
-                               @Override\r
-                               public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.hasStatement(subject, relation, object);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public boolean hasValue(final Resource subject) throws ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Boolean>() {\r
-                               \r
-                               @Override\r
-                               public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.hasValue(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public Datatype getDataType(final Resource subject) throws DatabaseException {\r
-               try {\r
-                       return session.syncRequest(new Read<Datatype>() {\r
-                               \r
-                               @Override\r
-                               public Datatype perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getDataType(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T extends Accessor> T getAccessor(final Resource subject)\r
-                       throws DatabaseException {\r
-               try {\r
-                       return session.syncRequest(new Read<T>() {\r
-                               \r
-                               @Override\r
-                               public T perform(ReadGraph graph) throws DatabaseException {\r
-               return graph.getAccessor(subject);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       throw new ServiceException(e);\r
-               }\r
-       }\r
-\r
-    @Override\r
-    public RandomAccessBinary getRandomAccessBinary(final Resource subject)\r
-    throws DatabaseException {\r
-        try {\r
-            return session.syncRequest(new Read<RandomAccessBinary>() {\r
-                @Override\r
-                public RandomAccessBinary perform(ReadGraph graph) throws DatabaseException {\r
-                    return graph.getRandomAccessBinary(subject);\r
-                }\r
-            });\r
-        } catch (DatabaseException e) {\r
-            throw new ServiceException(e);\r
-        }\r
-    }\r
-\r
-    @Override\r
-       public <T> T syncRequest(Read<T> request) throws DatabaseException {\r
-               return session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(Read<T> request, AsyncListener<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(Read<T> request, SyncListener<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(Read<T> request, Listener<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(Read<T> request, AsyncProcedure<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(Read<T> request, SyncProcedure<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(Read<T> request, Procedure<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(AsyncRead<T> request) throws DatabaseException {\r
-               return session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(AsyncRead<T> request,\r
-                       AsyncListener<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(AsyncRead<T> request, SyncListener<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(AsyncRead<T> request, Listener<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(AsyncRead<T> request,\r
-                       AsyncProcedure<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(AsyncRead<T> request,\r
-                       SyncProcedure<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(AsyncRead<T> request, Procedure<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(MultiRead<T> request)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
-                       AsyncMultiListener<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
-                       SyncMultiListener<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
-                       MultiListener<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
-                       AsyncMultiProcedure<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
-                       SyncMultiProcedure<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(MultiRead<T> request,\r
-                       MultiProcedure<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
-                       AsyncMultiListener<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
-                       SyncMultiListener<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
-                       MultiListener<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
-                       AsyncMultiProcedure<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
-                       SyncMultiProcedure<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> Collection<T> syncRequest(AsyncMultiRead<T> request,\r
-                       MultiProcedure<T> procedure) throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(ExternalRead<T> request)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(ExternalRead<T> request, Listener<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(ExternalRead<T> request, Procedure<T> procedure)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request, procedure);\r
-       }\r
-\r
-       @Override\r
-       public void syncRequest(Write request) throws DatabaseException {\r
-               session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public void syncRequest(DelayedWrite request) throws DatabaseException {\r
-               session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public void syncRequest(WriteOnly r) throws DatabaseException {\r
-               session.syncRequest(r);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(WriteResult<T> request)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(DelayedWriteResult<T> request)\r
-                       throws DatabaseException {\r
-               return session.syncRequest(request);\r
-       }\r
-\r
-       @Override\r
-       public <T> T syncRequest(WriteOnlyResult<T> r) throws DatabaseException {\r
-               return session.syncRequest(r);\r
-       }\r
-\r
-       @Override\r
-       public void forURI(final Resource resource, final AsyncListener<String> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forURI(resource, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forURI(final Resource resource, final SyncListener<String> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forURI(resource, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forURI(final Resource resource, final Listener<String> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forURI(resource, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forURI(final Resource resource, final AsyncProcedure<String> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forURI(resource, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forURI(final Resource resource, final SyncProcedure<String> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forURI(resource, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forURI(final Resource resource, final Procedure<String> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forURI(resource, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forResource(final String id, final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forResource(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forResource(final String id, final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forResource(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forResource(final String id, final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forResource(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forResource(final String id, final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forResource(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forResource(final String id, final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forResource(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forResource(final String id, final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forResource(id, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forStatementSet(final Resource subject, final Resource relation,\r
-                       final AsyncSetListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forStatementSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forStatementSet(final Resource subject, final Resource relation,\r
-                       final SyncSetListener<Statement> procedure) {\r
-               \r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forStatementSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forStatementSet(final Resource subject, final Resource relation,\r
-                       final SetListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forStatementSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPredicateSet(final Resource subject,\r
-                       final AsyncSetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPredicateSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPredicateSet(final Resource subject,\r
-                       final SyncSetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPredicateSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPredicateSet(final Resource subject,\r
-                       final SetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPredicateSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPrincipalTypeSet(final Resource subject,\r
-                       final AsyncSetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPrincipalTypeSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPrincipalTypeSet(final Resource subject,\r
-                       final SyncSetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forPrincipalTypeSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPrincipalTypeSet(final Resource subject,\r
-                       final SetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPrincipalTypeSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forTypes(final Resource subject,\r
-                       final AsyncListener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forTypes(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forTypes(final Resource subject,\r
-                       final SyncListener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forTypes(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forTypes(final Resource subject, final Listener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forTypes(subject, procedure);             \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forTypes(final Resource subject,\r
-                       final AsyncProcedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forTypes(subject, procedure);             \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forTypes(final Resource subject,\r
-                       final SyncProcedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forTypes(subject, procedure);             \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forTypes(final Resource subject,\r
-                       final Procedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forTypes(subject, procedure);     \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSupertypes(final Resource subject,\r
-                       final AsyncListener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSupertypes(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSupertypes(final Resource subject,\r
-                       final SyncListener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSupertypes(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSupertypes(final Resource subject,\r
-                       final Listener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSupertypes(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSupertypes(final Resource subject,\r
-                       final AsyncProcedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSupertypes(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSupertypes(final Resource subject,\r
-                       final SyncProcedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSupertypes(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSupertypes(final Resource subject,\r
-                       final Procedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSupertypes(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleSuperrelation(final Resource subject,\r
-                       final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleSuperrelation(subject, procedure);     \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSuperrelations(final Resource subject,\r
-                       final AsyncListener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSuperrelations(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSuperrelations(final Resource subject,\r
-                       final SyncListener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSuperrelations(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSuperrelations(final Resource subject,\r
-                       final Listener<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSuperrelations(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSuperrelations(final Resource subject,\r
-                       final AsyncProcedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSuperrelations(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSuperrelations(final Resource subject,\r
-                       final SyncProcedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSuperrelations(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSuperrelations(final Resource subject,\r
-                       final Procedure<Set<Resource>> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSuperrelations(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forObjectSet(final Resource subject, final Resource relation,\r
-                       final AsyncSetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forObjectSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forObjectSet(final Resource subject, final Resource relation,\r
-                       final SyncSetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forObjectSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forObjectSet(final Resource subject, final Resource relation,\r
-                       final SetListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forObjectSet(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forInverse(final Resource relation,\r
-                       final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forInverse(final Resource relation, final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forInverse(final Resource relation,\r
-                       final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forInverse(final Resource relation,\r
-                       final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forInverse(final Resource relation, final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleObject(final Resource subject, final Resource relation,\r
-                       final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleObject(final Resource subject, final Resource relation,\r
-                       final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleObject(final Resource subject, final Resource relation,\r
-                       final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleObject(subject, relation, procedure);            \r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleObject(final Resource subject, final Resource relation,\r
-                       final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleObject(final Resource subject, final Resource relation,\r
-                       final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleObject(final Resource subject, final Resource relation,\r
-                       final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleStatement(final Resource subject, final Resource relation,\r
-                       final AsyncListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleStatement(final Resource subject, final Resource relation,\r
-                       final SyncListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleStatement(final Resource subject, final Resource relation,\r
-                       final Listener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forSingleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-                               \r
-       }\r
-\r
-       @Override\r
-       public void forSingleStatement(final Resource subject, final Resource relation,\r
-                       final AsyncProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleStatement(final Resource subject, final Resource relation,\r
-                       final SyncProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleStatement(final Resource subject, final Resource relation,\r
-                       final Procedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject,\r
-                       final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject,\r
-                       final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject, final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject,\r
-                       final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject,\r
-                       final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject,\r
-                       final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject, final Resource baseType,\r
-                       final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject, final Resource baseType,\r
-                       final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject, final Resource baseType,\r
-                       final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject, final Resource baseType,\r
-                       final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject, final Resource baseType,\r
-                       final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forSingleType(final Resource subject, final Resource baseType,\r
-                       final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forSingleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final Binding binding,\r
-                       final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final Binding binding,\r
-                       final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final Binding binding,\r
-                       final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final Binding binding,\r
-                       final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final Binding binding,\r
-                       final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forValue(final Resource subject, final Binding binding,\r
-                       final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forValue(subject, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final Binding binding, final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final Binding binding, final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final Binding binding, final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final Binding binding, final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final Binding binding, final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forRelatedValue(final Resource subject, final Resource relation,\r
-                       final Binding binding, final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forUniqueAdapted(final Resource resource, final Class<T> clazz,\r
-                       final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forUniqueAdapted(final Resource resource, final Class<T> clazz,\r
-                       final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forUniqueAdapted(final Resource resource, final Class<T> clazz,\r
-                       final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forUniqueAdapted(final Resource resource, final Class<T> clazz,\r
-                       final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forUniqueAdapted(final Resource resource, final Class<T> clazz,\r
-                       final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forUniqueAdapted(final Resource resource, final Class<T> clazz,\r
-                       final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleInverse(final Resource relation,\r
-                       final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleInverse(final Resource relation,\r
-                       final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleInverse(final Resource relation,\r
-                       final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleInverse(final Resource relation,\r
-                       final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleInverse(final Resource relation,\r
-                       final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleInverse(final Resource relation,\r
-                       final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleInverse(relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleObject(final Resource subject, final Resource relation,\r
-                       final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleObject(final Resource subject, final Resource relation,\r
-                       final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleObject(final Resource subject, final Resource relation,\r
-                       final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleObject(final Resource subject, final Resource relation,\r
-                       final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleObject(final Resource subject, final Resource relation,\r
-                       final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleObject(final Resource subject, final Resource relation,\r
-                       final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleObject(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleStatement(final Resource subject, final Resource relation,\r
-                       final AsyncListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleStatement(final Resource subject, final Resource relation,\r
-                       final SyncListener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleStatement(final Resource subject, final Resource relation,\r
-                       final Listener<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleStatement(final Resource subject, final Resource relation,\r
-                       final AsyncProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleStatement(final Resource subject, final Resource relation,\r
-                       final SyncProcedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleStatement(final Resource subject, final Resource relation,\r
-                       final Procedure<Statement> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleStatement(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleType(final Resource subject, final Resource baseType,\r
-                       final AsyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleType(final Resource subject, final Resource baseType,\r
-                       final SyncListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleType(final Resource subject, final Resource baseType,\r
-                       final Listener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleType(final Resource subject, final Resource baseType,\r
-                       final AsyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleType(final Resource subject, final Resource baseType,\r
-                       final SyncProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forPossibleType(final Resource subject, final Resource baseType,\r
-                       final Procedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleType(subject, baseType, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject,\r
-                       final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject,\r
-                       final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject, final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject,\r
-                       final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject,\r
-                       final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject,\r
-                       final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject, final Binding binding,\r
-                       final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject, final Binding binding,\r
-                       final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject, final Binding binding,\r
-                       final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject, final Binding binding,\r
-                       final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject, final Binding binding,\r
-                       final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleValue(final Resource subject, final Binding binding,\r
-                       final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleValue(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Binding binding, final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Binding binding, final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Binding binding, final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Binding binding, final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Binding binding, final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleRelatedValue(final Resource subject,\r
-                       final Resource relation, final Binding binding, final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleRelatedValue(subject, relation, binding, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleAdapted(final Resource resource, final Class<T> clazz,\r
-                       final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleAdapted(final Resource resource, final Class<T> clazz,\r
-                       final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleAdapted(final Resource resource, final Class<T> clazz,\r
-                       final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleAdapted(final Resource resource, final Class<T> clazz,\r
-                       final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleAdapted(final Resource resource, final Class<T> clazz,\r
-                       final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleAdapted(final Resource resource, final Class<T> clazz,\r
-                       final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleUniqueAdapted(final Resource resource,\r
-                       final Class<T> clazz, final AsyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleUniqueAdapted(final Resource resource,\r
-                       final Class<T> clazz, final SyncListener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleUniqueAdapted(final Resource resource,\r
-                       final Class<T> clazz, final Listener<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleUniqueAdapted(final Resource resource,\r
-                       final Class<T> clazz, final AsyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleUniqueAdapted(final Resource resource,\r
-                       final Class<T> clazz, final SyncProcedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public <T> void forPossibleUniqueAdapted(final Resource resource,\r
-                       final Class<T> clazz, final Procedure<T> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forPossibleUniqueAdapted(resource, clazz, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInstanceOf(final Resource resource, final Resource type,\r
-                       final AsyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInstanceOf(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInstanceOf(final Resource resource, final Resource type,\r
-                       final SyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInstanceOf(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInstanceOf(final Resource resource, final Resource type,\r
-                       final Listener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInstanceOf(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInstanceOf(final Resource resource, final Resource type,\r
-                       final AsyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInstanceOf(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInstanceOf(final Resource resource, final Resource type,\r
-                       final SyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInstanceOf(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInstanceOf(final Resource resource, final Resource type,\r
-                       final Procedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInstanceOf(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInheritedFrom(final Resource resource, final Resource type,\r
-                       final AsyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInheritedFrom(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInheritedFrom(final Resource resource, final Resource type,\r
-                       final SyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInheritedFrom(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInheritedFrom(final Resource resource, final Resource type,\r
-                       final Listener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInheritedFrom(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInheritedFrom(final Resource resource, final Resource type,\r
-                       final AsyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInheritedFrom(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInheritedFrom(final Resource resource, final Resource type,\r
-                       final SyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInheritedFrom(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsInheritedFrom(final Resource resource, final Resource type,\r
-                       final Procedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsInheritedFrom(resource, type, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsSubrelationOf(final Resource resource, final Resource relation,\r
-                       final AsyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsSubrelationOf(resource, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsSubrelationOf(final Resource resource, final Resource relation,\r
-                       final SyncListener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsSubrelationOf(resource, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsSubrelationOf(final Resource resource, final Resource relation,\r
-                       final Listener<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsSubrelationOf(resource, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsSubrelationOf(final Resource resource, final Resource relation,\r
-                       final AsyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsSubrelationOf(resource, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsSubrelationOf(final Resource resource, final Resource relation,\r
-                       final SyncProcedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsSubrelationOf(resource, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forIsSubrelationOf(final Resource resource, final Resource relation,\r
-                       final Procedure<Boolean> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forIsSubrelationOf(resource, relation, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forOrderedSet(final Resource subject,\r
-                       final AsyncMultiListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forOrderedSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forOrderedSet(final Resource subject,\r
-                       final SyncMultiListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forOrderedSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forOrderedSet(final Resource subject,\r
-                       final MultiListener<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forOrderedSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forOrderedSet(final Resource subject,\r
-                       final AsyncMultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forOrderedSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forOrderedSet(final Resource subject,\r
-                       final SyncMultiProcedure<Resource> procedure) {\r
-               \r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-                                       graph.forOrderedSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public void forOrderedSet(final Resource subject,\r
-                       final MultiProcedure<Resource> procedure) {\r
-               try {\r
-                       session.syncRequest(new ReadRequest() {\r
-                               \r
-                               @Override\r
-                               public void run(ReadGraph graph) throws DatabaseException {\r
-               graph.forOrderedSet(subject, procedure);\r
-                               }\r
-                       });\r
-               } catch (DatabaseException e) {\r
-                       \r
-               }\r
-       }\r
-\r
-       @Override\r
-       public int thread() {\r
-               return -1;\r
-       }\r
-\r
-       @Override\r
-       public Session getSession() {\r
-               return session;\r
-       }\r
-\r
-       @Override\r
-       public Resource getBuiltin(final String id) throws ResourceNotFoundException,\r
-                       ServiceException {\r
-               try {\r
-                       return session.syncRequest(new Read<Resource>() {\r
-                               \r
-                               @Override\r
-                               public Resource perform(ReadGraph graph) throws DatabaseException {\r
-                                       return graph.getBuiltin(id);\r
-                               }\r
-                               });\r
-                       } catch (DatabaseException e) {\r
-                               throw new ServiceException(e);\r
-                       }\r
-       }\r
-       \r
-       @Override\r
-       public VirtualGraph getProvider() {\r
-               return null;\r
-       }\r
-\r
-       @Override\r
-       public boolean isImmutable(final Resource resource) throws DatabaseException {\r
-           try {\r
-               return session.syncRequest(new Read<Boolean>() {\r
-                   @Override\r
-                   public Boolean perform(ReadGraph graph) throws DatabaseException {\r
-                       return graph.isImmutable(resource);\r
-                   }\r
-               });\r
-           } catch (DatabaseException e) {\r
-               throw new ServiceException(e);\r
-           }\r
-       }\r
-\r
-    @Override\r
-    public <T> T getValue2(final Resource subject, final Object context) throws DatabaseException {\r
-        try {\r
-            return (T) session.syncRequest(new Read<T>() {\r
-                @Override\r
-                public T perform(ReadGraph graph) throws DatabaseException {\r
-                    return graph.getValue2(subject, context);\r
-                }\r
-            });\r
-        } catch (DatabaseException e) {\r
-            throw new ServiceException(e);\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public <T> T getPossibleValue2(final Resource subject, final Object context) throws DatabaseException {\r
-        try {\r
-            return (T) session.syncRequest(new Read<T>() {\r
-                @Override\r
-                public T perform(ReadGraph graph) throws DatabaseException {\r
-                    return graph.getPossibleValue2(subject, context);\r
-                }\r
-            });\r
-        } catch (DatabaseException e) {\r
-            throw new ServiceException(e);\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public <T> T getValue2(final Resource subject, final Object context, final Binding binding) throws DatabaseException {\r
-        try {\r
-            return (T) session.syncRequest(new Read<T>() {\r
-                @Override\r
-                public T perform(ReadGraph graph) throws DatabaseException {\r
-                    return graph.getValue2(subject, context, binding);\r
-                }\r
-            });\r
-        } catch (DatabaseException e) {\r
-            throw new ServiceException(e);\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public <T> T getPossibleValue2(final Resource subject, final Object context, final Binding binding) throws DatabaseException {\r
-        try {\r
-            return (T) session.syncRequest(new Read<T>() {\r
-                @Override\r
-                public T perform(ReadGraph graph) throws DatabaseException {\r
-                    return graph.getPossibleValue2(subject, context, binding);\r
-                }\r
-            });\r
-        } catch (DatabaseException e) {\r
-            throw new ServiceException(e);\r
-        }\r
-    }\r
-\r
-}\r
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
deleted file mode 100644 (file)
index 5534653..0000000
+++ /dev/null
@@ -1,2785 +0,0 @@
-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 createRandomAccessBinary(Resource resource,\r
-                       Resource predicate, Datatype datatype, Object initialValue)\r
-                       throws DatabaseException {\r
-               return graph.createRandomAccessBinary(resource, predicate, datatype, initialValue);\r
-       }\r
-       \r
-       @Override\r
-       public RandomAccessBinary createRandomAccessBinary(Resource resource,\r
-                       Datatype datatype, Object initialValue) throws DatabaseException {\r
-               return graph.createRandomAccessBinary(resource, datatype, initialValue);\r
-       }\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 Resource newResource(Resource clusterSet) throws ServiceException {\r
-        return graph.newResource(clusterSet);\r
-    }\r
-\r
-    @Override\r
-    public void newClusterSet(Resource clusterSet) throws ServiceException {\r
-        graph.newClusterSet(clusterSet);\r
-    }\r
-    \r
-\r
-    public Resource setClusterSet4NewResource(Resource clusterSet) throws ServiceException {\r
-        return graph.setClusterSet4NewResource(clusterSet);\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 Resource getPossibleSuperrelation(Resource subject)\r
-                       throws ServiceException {\r
-               return graph.getPossibleSuperrelation(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
-       @Override\r
-       public boolean isImmutable(Resource resource) throws DatabaseException {\r
-               return graph.isImmutable(resource);\r
-       }\r
-\r
-    @Override\r
-    public <T> T getValue2(Resource subject, Object context) throws DatabaseException {\r
-        return graph.getValue2(subject, context);\r
-    }\r
-\r
-    @Override\r
-    public <T> T getPossibleValue2(Resource subject, Object context) throws DatabaseException {\r
-        return graph.getPossibleValue2(subject, context);\r
-    }\r
-\r
-    @Override\r
-    public <T> T getValue2(Resource subject, Object context, Binding binding) throws DatabaseException {\r
-        return graph.getValue2(subject, context, binding);\r
-    }\r
-\r
-    @Override\r
-    public <T> T getPossibleValue2(Resource subject, Object context, Binding binding) throws DatabaseException {\r
-        return graph.getPossibleValue2(subject, context, binding);\r
-    }\r
-\r
-}\r