System.out.println("unexpected exception in .executeReadObject = " + e );
VM.sysWrite("unexpected exception in .executeReadObject = " + e );
  public static boolean executeReadObject(ObjectInputStream ois, Object obj, Class theClass) {    Method method;    // need type of arg to writeObject, which is ObjectInputStream    Class[] argTypes = new Class[1];    //argTypes[0] = this.getClass();    try {      argTypes[0] = Class.forName("java.io.ObjectInputStream");    }    catch (ClassNotFoundException e) {      return false;    }    // get Method, if it exists    try {      method = theClass.getDeclaredMethod("readObject", argTypes);    }    catch ( NoSuchMethodException e ) {      return false;  // tells caller method not defined for the class    }    catch ( SecurityException e ) {      System.out.println("SecurityException in ObjectInputStream.executeReadObject");      return false;    }    Object[] methodArgs = new Object[1];    methodArgs[0] = ois;   // arg to writeObject is this stream    try {      method.setAccessible( true );     // allow access to private method      method.invoke( obj, methodArgs );    }    catch ( Exception e ) {      System.out.println("unexpected exception in .executeReadObject = " + e );      return false;    }    return true;    // tells caller method exists & was invoked  }