code: protected static Object deserialize(byte[] objectBytes, ObjectManagerState objectManagerState)
                      throws ObjectManagerException {
          final String methodName = "deserialize";
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(cclass,
                          methodName,
                          new Object[] { objectBytes,
                                        objectManagerState });
  
          java.io.ByteArrayInputStream byteArrayInputStream = new java.io.ByteArrayInputStream(objectBytes);
          Object object = null;
          try
          {
              ManagedObjectInputStream managedObjectInputStream = new ManagedObjectInputStream(byteArrayInputStream, objectManagerState);
              object = managedObjectInputStream.readObject();
              managedObjectInputStream.close();
  
          } catch (java.lang.ClassNotFoundException exception) {
              // No FFDC Code Needed.
              ObjectManager.ffdc.processException(cclass, methodName, exception, "1:347:1.8");
  
              if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                  trace.exit(cclass,
                             methodName,
                             exception);
              throw new ClassNotFoundException(cclass, exception);
          } // catch ClassNotFoundException.
          catch (java.io.IOException exception) {
              // No FFDC Code Needed.
              ObjectManager.ffdc.processException(cclass, methodName, exception, "1:357:1.8");
  
              if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                  trace.exit(cclass,
                             methodName,
                             exception);
              throw new PermanentIOException(cclass,
                                             exception);
          } // catch.
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(cclass,
                         methodName,
                         new Object[] { object });
          return object;
      }
docs: Turns a serialized Object from an array of bytes back into an object.
  
  @param objectBytes the serialized form of the serializableObject.
  @param objectManagerState which owns any tokens referenced by the Object.
  @return Object the Object recovered from the Byte[].
  @throws ObjectManagerException