code: private void writeObject(ObjectOutputStream oos) throws IOException
     {
        ObjectOutputStream.PutField fields =  oos.putFields();
        String name = serialPersistentFields[ID_IDX].getName();
        fields.put(name, id);
        name = serialPersistentFields[EXCEPTION_IDX].getName();
        fields.put(name, e);
        name = serialPersistentFields[CONN_HANDLE_IDX].getName();
        fields.put(name, connectionHandle);
        oos.writeFields();
     }
docs: Write object
  @param oos The object output stream
  @exception IOException Thrown if an error occurs