docs: private String getFormattedBytes(WsByteBuffer buff)
     {
            // Note we do not really want to trace the buffer since we are about to dump the bytes in the buffer in an FFDC anyway.
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "getFormattedBytes", null);
  
            int currentPosition = buff.position();
        int currentLimit = buff.limit();
        buff.rewind();
  
        try
        {
           // If the buffer is backed by an array, just get the bytes straight from the buffer
           if (buff.hasArray())
           {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "getFormattedBytes", null);
                  return SibTr.formatBytes(buff.array(), buff.arrayOffset() + buff.position(), buff.remaining());
           }
  
           // Otherwise we need to make a copy of it
           byte[] dataArray = new byte[buff.remaining()];
           buff.get(dataArray);
           if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "getFormattedBytes", null);
           return SibTr.formatBytes(dataArray, 0, dataArray.length);
        }
        finally
        {
           buff.position(currentPosition);
           buff.limit(currentLimit);
        }
  
     }