code: public synchronized void releasePreservingBuffers()
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "releasePreservingBuffers");
  
        released = true;
        valid = false;
  
        if (receivedData != null)
        {
           receivedData.release();
           receivedData = null;
        }
  
        // Simply null out the received buffer
        receivedBuffer = null;
        dataList.clear();
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "releasePreservingBuffers");
     }
docs: This method releases the ReceivedData instance but does not release any of the WsByteBuffers
  associated with this JFapByteBuffer. This can be used instead of the normal
  <code>release()</code> call where the actual buffer has been used as the underlying backing
  storage for another object (such as a message) and we do not want that to be released.