readObjects implementation
428486
private Object[] readObjects0(Class pObjClass, Hashtable pMapping, 
                                  Hashtable pWhere) throws SQLException {
        ObjectMapper om = new ObjectMapper(pObjClass, pMapping);

        Object[] ids = readIdentities(pObjClass, pMapping, pWhere, om);

        Object[] result = readObjects0(ids, pObjClass, om, pWhere); 

        return result;
    }
970616
protected void readObject(java.io.DataInputStream dataInputStream
                              , ObjectManagerState objectManagerState
                    )
                                    throws ObjectManagerException, java.io.IOException
    {
        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, new Object[] { "version:2147", new Byte(version) });

        } catch (java.io.IOException exception) {
            // No FFDC Code Needed.
            ObjectManager.ffdc.processException(this, cclass, methodName, exception, "1:2151:1.34");

            if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                trace.exit(this,
                           cclass,
                           methodName,
                           new Object[] { exception });
            throw new PermanentIOException(this,
                                           exception);
        } // catch (java.io.IOException exception).

        state = stateReady; // Initial state.
        previousState = -1; // No previous state.

        if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
            trace.exit(this,
                       cclass,
                       methodName);
    }
89052
private void readObject(ObjectInputStream ois) {
        try {
            ois.defaultReadObject();
            pauseLock = new ReentrantLock();
            pauseLock.newCondition();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
593859
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {

        final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
        if (isTraceOn && tc.isEntryEnabled())
            Tr.entry(tc, "readObject");

        in.defaultReadObject();

        // Read in eye catcher.
        byte[] eyeCatcher = new byte[EYECATCHER.length];

        // Insure that all of the bytes have been read.
        int bytesRead = 0;
        for (int offset = 0; offset < EYECATCHER.length; offset += bytesRead) {
            bytesRead = in.read(eyeCatcher, offset, EYECATCHER.length - offset);
            if (bytesRead == -1) {
                throw new IOException("end of input stream while reading eye catcher");
            }
        }

        // Validate that the eyecatcher matches
        for (int i = 0; i < EYECATCHER.length; i++) {
            if (EYECATCHER[i] != eyeCatcher[i]) {
                String eyeCatcherString = new String(eyeCatcher);
                throw new IOException("Invalid eye catcher '" + eyeCatcherString + "' in TimerHandle input stream");
            }
        }

        // Read in the rest of the header.
        short incoming_platform = in.readShort();
        short incoming_vid = in.readShort();

        if (isTraceOn && tc.isDebugEnabled())
            Tr.debug(tc, "readObject: platform = " + incoming_platform + ", version = " + incoming_vid);

        // Verify the version is supported by this version of code.
        if (incoming_vid != VERSION_ID) {
            throw new InvalidObjectException("EJB TimerHandle data stream is not of the correct version, this client should be updated.");
        }

        // Read in the instance data.
        isTimer = in.readBoolean();
        taskId = in.readLong();

        if (isTraceOn && tc.isEntryEnabled())
            Tr.exit(tc, "readObject: " + this);
    }
368387
private void readObject(ObjectInputStream s) throws IOException, ClassNotFoundException
  {
    s.defaultReadObject();
    if (words == null) {
      reset();
      return;
    }
    lastWordIndex = words.length - 1;
    updateLast();
    size = -1;
  }
1113841
private void readObject(java.io.ObjectInputStream in)
        throws java.io.IOException, ClassNotFoundException
    {
        in.defaultReadObject();
        if (_class==null || !_class.getName().equals(_className))
        {
            try
            {
                setPoolClass(Loader.loadClass(Pool.class,_className));
            }
            catch (Exception e)
            {
                log.warn(LogSupport.EXCEPTION,e);
                throw new java.io.InvalidObjectException(e.toString());
            }
        }
    }
1193345
private void readObject(java.io.ObjectInputStream s)
        throws IOException, ClassNotFoundException
    {
        // Read in the threshold, loadfactor, and any hidden stuff
        s.defaultReadObject();
        
        // Read in number of buckets and allocate the bucket array;
        int numBuckets = s.readInt();
        table = new Entry[numBuckets];
        
        // Read in size (number of Mappings)
        int size = s.readInt();
        
        // Read the keys and values, and put the mappings in the IntHashMap
        for (int i=0; i<size; i++) {
            int key = s.readInt();
            V value = (V) s.readObject();
            put(key, value);
        }
    }
1140778
private void readObject(java.io.ObjectInputStream objectInputStream)
                    throws java.io.IOException
                    , java.lang.ClassNotFoundException
    {
        if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
            trace.entry(this, cclass,
                        "readObject",
                        "ObjectInputStream="
                                        + objectInputStream);

        // Super class already handled by serilaization.
        objectInputStream.defaultReadObject();

        if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
            trace.exit(this, cclass,
                       "readObject"
                       , "via UnsupportedOperationException");
        throw new UnsupportedOperationException();
    }
404053
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException {
        in.defaultReadObject();
        this.runtimeMetaData = new HashMap<String, Object>();
    }
1244573
private void readObject(java.io.ObjectInputStream s)
        throws java.io.IOException, ClassNotFoundException  {
        // Read in any hidden stuff
        s.defaultReadObject();

        // Read in size (number of Mappings)
        int size = s.readInt();
        if (size < 0)
            throw new java.io.StreamCorruptedException
                ("Illegal mappings count: " + size);
        init(capacity(size));

        // Read the keys and values, and put the mappings in the table
        for (int i=0; i<size; i++) {
            @SuppressWarnings("unchecked")
                K key = (K) s.readObject();
            @SuppressWarnings("unchecked")
                V value = (V) s.readObject();
            putForCreate(key, value);
        }
    }
353456
@Override
  public T readObject(InRawH3 is, InH3Amp in)
  {
    TempOutputStream tos = new TempOutputStream();
    
    is.readBinary(tos);
    
    StreamSourceH3 ss = ()->tos.getInputStream();
    
    return (T) ss;
  }
1205534
private Object registeredObjectRead(int handle) throws InvalidObjectException {
        Object res = objectsRead.get(handle - ObjectStreamConstants.baseWireHandle);
        if (res == UNSHARED_OBJ) {
            throw new InvalidObjectException("Cannot read back reference to unshared object");
        }
        return res;
    }
97813
private void readObject(java.io.ObjectInputStream s) throws java.io.IOException, ClassNotFoundException {
		// read basic object and the type
		s.defaultReadObject();
		
		this.reference = InstantiationUtil.instantiate(type, CopyableValue.class);
		this.tempReference = null;
	}
460716
private void readObject(java.io.ObjectInputStream s)
        throws java.io.IOException, ClassNotFoundException
    {
        s.defaultReadObject();
        if (encryptedContent != null)
            encryptedContent = encryptedContent.clone();
        if (encodedParams != null)
            encodedParams = encodedParams.clone();
    }
1054299
public void readObject(java.io.DataInputStream dataInputStream,
                           ObjectManagerState objectManagerState)
                    throws ObjectManagerException
    {
        if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
            trace.entry(this, cclass,
                        "readObject",
                        "DataInputStream="
                                        + dataInputStream
                                        + ", ObjectManagerState="
                                        + objectManagerState);

        try {
            byte version = dataInputStream.readByte();
            if (Tracing.isAnyTracingEnabled() && trace.isDebugEnabled())
                trace.debug(this, cclass
                            , "readObject"
                            , "version=" + version + "(byte)"
                                );
            super.readObject(dataInputStream,
                             objectManagerState);

            activeSubListCount = dataInputStream.readInt();
            subListTokens = new Token[activeSubListCount];

            for (int i = 0; i < subListTokens.length; i++) {
                subListTokens[i] = Token.restore(dataInputStream,
                                                 objectManagerState);
            } // for subLists.    

        } catch (java.io.IOException exception) {
            // No FFDC Code Needed.
            ObjectManager.ffdc.processException(this, cclass, "readObject", exception, "1:1280:1.26");

            if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                trace.exit(this, cclass
                           , "readObject"
                           , "via PermanentIOException"
                                );
            throw new PermanentIOException(this,
                                           exception);
        } // catch (java.io.IOException exception).

        // Force a full search when the first removeFirst operation occurs.
        headSequenceNumber = Long.MAX_VALUE;
        headSequenceNumberLock = new HeadSequenceNumberLock();
        tailSequenceNumber = 0;
        tailSequenceNumberLock = new TailSequenceNumberLock();
        subLists = new ConcurrentSubList[subListTokens.length];

        // Defect 322295
        // This check has been added to handle the case where a ConcurrentLinkedList 
        // has been deleted but only (some or all of) the sub list deletions were 
        // forced to the object store before a crash. 
        //
        //  i.e.  [subList del][subList del][OS Force][subList del][CLList del][crash]
        //
        // This results in the ConcurrentLinkedList having tokens that point to some sub 
        // lists that no longer have managed objects so the references being setup below 
        // could be null. At recovery time however these null references will be replaced
        // with DummyManagedObjects when each individual sub list delete is replayed by
        // the log. This results in a ClassCastException below.
        //
        // To avoid the exception we only add the real sub list managed objects to the 
        // array. This should be ok as once recovery has completed the entire linked list
        // should have been deleted so no exhaustive list of sub lists is required.
        //
        // TODO: Can we avoid this check by grouping transaction work into a single checkpoint?
        for (int i = 0; i < subListTokens.length; i++) {

            ManagedObject managedObject = subListTokens[i].getManagedObject();

            if (managedObject instanceof ConcurrentSubList)
            {
                subLists[i] = (ConcurrentSubList) managedObject;
            }
        } // for subList.

        // During recovery some of the sublists may not have completed their recovery when the concurrentList is found.
        // Also some of the links in the subLists may have already been deleted by later Transactions and so be 
        // unavailable during recovery.
        // Also if we look at the sublists during recovery we create cyclic dependancies between the overall 
        // lists and the subLists. We defer setting the tailSequenceNumber until first use of the list. 

        if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
            trace.exit(this, cclass,
                       "readObject");
    }
187295
private void readObject(ObjectInputStream in)
        throws IOException, ClassNotFoundException, NoSuchMethodException {
        componentType = ClassRef.read(in);
    }
1061302
private void readObject(java.io.ObjectInputStream s)
        throws java.io.IOException, ClassNotFoundException {
        // Read in any hidden serialization magic
        s.defaultReadObject();

        // Read in HashMap capacity and load factor and create backing HashMap
        int capacity = s.readInt();
        float loadFactor = s.readFloat();
        map = (((HashSet)this) instanceof LinkedHashSet ?
               new LinkedHashMap<E,Object>(capacity, loadFactor) :
               new HashMap<E,Object>(capacity, loadFactor));

        // Read in size
        int size = s.readInt();

        // Read in all elements in the proper order.
        for (int i=0; i<size; i++) {
            E e = (E) s.readObject();
            map.put(e, PRESENT);
        }
    }