code: public synchronized void putDataSlice(DataSlice slice)
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "putDataSlice", slice);
  
        // First pump in the length
        putInt(slice.getLength());
  
        // Now add in the payload
        wrap(slice.getBytes(), slice.getOffset(), slice.getLength());
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "putDataSlice");
     }
docs: This method is used to put a data slice into the buffer. A data slice is usually given to us
  by MFP as part of a message and this method can be used to add a single slice into the buffer
  so that the message can be sent in multiple transmissions. This is preferable to sending the
  message in one job lot because we can allocate the memory required in smaller chunks making
  life easier on the Java memory manager.
  
  @param slice The slice to add.