@Override
 public GraphProcess newNestedProcess(final Graph graph, final NodeToken parentToken) {
   HibGraphProcess process = new HibGraphProcess((HibGraph) graph);
   process.setParentToken(parentToken);
   session.save(process);
   return process;
 }
 @Override
 public HibArcToken newArcToken(GraphProcess process, Arc arc, NodeToken previousToken) {
   HibGraphProcess hibProcess = (HibGraphProcess) process;
   Hibernate.initialize(hibProcess.getExecutionQueue());
   HibArcToken token = new HibArcToken(hibProcess, (HibArc) arc, (HibNodeToken) previousToken);
   session.save(token);
   return token;
 }
 @Override
 public boolean equals(Object obj) {
   if (this == obj) return true;
   if (obj == null) return false;
   if (!(obj instanceof HibGraphProcess)) return false;
   final HibGraphProcess other = (HibGraphProcess) obj;
   if (id == null) {
     if (other.getId() != null) return false;
   } else if (!id.equals(other.getId())) return false;
   return true;
 }