code: public void readObject(java.io.DataInputStream dataInputStream,
                             ObjectManagerState objectManagerState)
                      throws ObjectManagerException {
          final String methodName = "readObject";
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          methodName,
                          new Object[] { dataInputStream, objectManagerState });
  
          try {
              byte version = dataInputStream.readByte();
              if (Tracing.isAnyTracingEnabled() && trace.isDebugEnabled())
                  trace.debug(this, cclass,
                              methodName,
                              "version=" + version + "(byte)");
  
              identifier = dataInputStream.readLong();
              int XIDLength = dataInputStream.readUnsignedByte();
              if (XIDLength > 0)
              {
                  XID = new byte[XIDLength];
                  dataInputStream.read(XID);
              } // if (XIDLength > 0).
  
          } catch (java.io.IOException exception) {
              // No FFDC Code Needed.
              ObjectManager.ffdc.processException(this, cclass, methodName, exception, "1:217:1.9");
  
              if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                  trace.exit(this, cclass,
                             methodName,
                             "via PermanentIOException");
              throw new PermanentIOException(this,
                                             exception);
          } // catch (java.io.IOException exception).
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         methodName);
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.objectManager.ManagedObject#readObject(java.io.DataInputStream, com.ibm.ws.objectManager.ObjectManagerState)