code: void addMessagePart(CommsByteBuffer buffer)
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "addMessagePart", buffer);
  
        byte flags = buffer.get();
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Flags: ", flags);
  
        // Simple add the slice onto our list
        synchronized (pendingMessageSliceLock)
        {
           if (pendingMessageSlices == null)
           {
              pendingMessageSlices = new ArrayList<DataSlice>();
           }
  
           pendingMessageSlices.add(buffer.getDataSlice());
  
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.debug(this, tc, "Message parts: ", pendingMessageSlices);
        }
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "addMessagePart");
     }
docs: This method is called when part of a message is received asynchronously, as a result of a
  receive request before the actual request has completed. This allows a message to be sent
  back in individual parts rather than one (potentially) very large message which is easier on
  the Java memory manager.
  
  @param buffer