Reverse order of commits
diff --git a/src/main/java/net/onrc/onos/util/GraphDBConnection.java b/src/main/java/net/onrc/onos/util/GraphDBConnection.java
index 01b22ae..78f26ea 100644
--- a/src/main/java/net/onrc/onos/util/GraphDBConnection.java
+++ b/src/main/java/net/onrc/onos/util/GraphDBConnection.java
@@ -8,6 +8,7 @@
 import com.esotericsoftware.minlog.Log;
 import com.thinkaurelius.titan.core.TitanFactory;
 import com.thinkaurelius.titan.core.TitanGraph;
+import com.tinkerpop.blueprints.TransactionalGraph;
 import com.tinkerpop.blueprints.Vertex;
 import com.tinkerpop.blueprints.TransactionalGraph.Conclusion;
 import com.tinkerpop.blueprints.util.wrappers.event.EventGraph;
@@ -25,6 +26,12 @@
 		TRUE,
 		FALSE
 	}
+	class TransactionHandle {
+		protected TransactionalGraph tr;
+		public void create() {
+			tr = graph.startTransaction();			
+		}
+	}
 	protected static Logger log = LoggerFactory.getLogger(GraphDBConnection.class);
 	private static GraphDBConnection singleton = new GraphDBConnection( );
 	private static TitanGraph graph;
@@ -110,17 +117,35 @@
 	   
 	   public void startTx() {
 		   
+		   
 	   }
 	   
 	   public void endTx(Transaction tx) {
 		   switch (tx) {
 		   case COMMIT:
-			   eg.stopTransaction(Conclusion.SUCCESS);
+			   graph.stopTransaction(Conclusion.SUCCESS);
 		   case ROLLBACK:
-			   eg.stopTransaction(Conclusion.FAILURE);
+			   graph.stopTransaction(Conclusion.FAILURE);
 		   }
 	   }
 	   
+	   public void endTx(TransactionHandle tr, Transaction tx) {
+		   switch (tx) {
+		   case COMMIT:
+			   if (tr != null && tr.tr != null) {
+				   tr.tr.stopTransaction(Conclusion.SUCCESS);
+			   } else {
+				   graph.stopTransaction(Conclusion.SUCCESS);
+			   }
+		   case ROLLBACK:
+			   if (tr != null && tr.tr != null) {
+				   tr.tr.stopTransaction(Conclusion.FAILURE);
+			   } else {
+				   graph.stopTransaction(Conclusion.FAILURE);
+			   }
+		   }
+	   }   
+	   
 	   public void endTx(Transaction tx, GenerateEvent fire) {
 
 		   try {