code: public synchronized SIMessageHandle[] getSIMessageHandles()
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "getSIMessageHandles");
  
        int arrayCount = getInt();              // BIT32 ArrayCount
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(tc, "arrayCount", arrayCount);
  
        SIMessageHandle[] msgHandles = new SIMessageHandle[arrayCount];
  
        JsMessageHandleFactory jsMsgHandleFactory = JsMessageHandleFactory.getInstance();
  
        // Get arrayCount SIMessageHandles
        for (int msgHandleIndex = 0; msgHandleIndex < msgHandles.length; ++msgHandleIndex)
        {
           long msgHandleValue = getLong();
           byte[] msgHandleUuid = get(8);
  
           msgHandles[msgHandleIndex] =
              jsMsgHandleFactory.createJsMessageHandle(new SIBUuid8(msgHandleUuid),
                                                       msgHandleValue);
        }
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "getSIMessageHandles", msgHandles);
        return msgHandles;
     }
docs: Reads some message handles from the buffer.
  
  @return Returns a array of SIMessageHandle objects