fixing jvm serialization
diff --git a/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java b/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
index 6f64bbb..3384f71 100644
--- a/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
+++ b/src/main/java/org/apache/ode/jacob/vpu/ExecutionQueueImpl.java
@@ -29,7 +29,6 @@
 import java.io.OutputStream;
 import java.io.PrintStream;
 import java.io.Serializable;
-import java.lang.reflect.Method;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
@@ -42,11 +41,9 @@
 import java.util.zip.GZIPOutputStream;
 
 import org.apache.ode.jacob.IndexedObject;
-import org.apache.ode.jacob.JacobObject;
 import org.apache.ode.jacob.Message;
 import org.apache.ode.jacob.oo.Channel;
 import org.apache.ode.jacob.oo.ChannelListener;
-import org.apache.ode.jacob.oo.ClassUtil;
 import org.apache.ode.jacob.soup.Comm;
 import org.apache.ode.jacob.soup.CommChannel;
 import org.apache.ode.jacob.soup.CommGroup;
@@ -239,16 +236,7 @@
         _currentCycle = sis.readInt();
         int reactions = sis.readInt();
         for (int i = 0; i < reactions; ++i) {
-            JacobObject closure = (JacobObject) sis.readObject();
-            String methodName = sis.readUTF();
-            Method method = closure.getMethod(methodName);
-            int numArgs = sis.readInt();
-            Object[] args = new Object[numArgs];
-            for (int j = 0; j < numArgs; ++j) {
-                args[j] = sis.readObject();
-            }
-            Channel replyTo = (Channel) sis.readObject();
-            _messages.add(ClassUtil.createMessage(closure, ClassUtil.getActionForMethod(method), args, replyTo));
+            _messages.add((Message)sis.readObject());
         }
 
         int numChannels = sis.readInt();
@@ -293,14 +281,7 @@
         // Write out the reactions.
         sos.writeInt(_messages.size());
         for (Message m : _messages) {
-            sos.writeObject(m.getTo().getEndpoint(JacobObject.class));
-            // TODO: we need to write the replyTo object too
-            sos.writeUTF(m.getAction());
-            Object[] args = (Object[])m.getBody();
-            sos.writeInt(args == null ? 0 : args.length);
-            for (Object a : args) {
-                sos.writeObject(a);
-            }
+            sos.writeObject(m);
         }
 
         sos.writeInt(_channels.values().size());