docs: protected void setData(ReadableLogRecord logRecord) /* @MD19840AA*/
          throws InternalLogException
      {
          if (tc.isEntryEnabled()) 
              Tr.entry(tc, "setData", new Object[] {this, logRecord});
  
          int totalDataSize = _dataSize + HEADER_SIZE;
          
          int unwrittenDataSize = 0;
  
          if (!_written)
          {
              unwrittenDataSize = totalDataSize;
          }
  
          // Remove the old payload from the containing recoverable 
          // unit section
          _rus.payloadDeleted(totalDataSize, unwrittenDataSize);
  
          // The new data is encapsulated in the logRecord.  We need to
          // swap the logRecord in the DataItem class.
          _logRecord = logRecord;
  
          try
          {
              if (tc.isDebugEnabled()) Tr.debug(tc, "Reading data size field @ position " + logRecord.position());
  
              _dataSize = logRecord.getInt();       
          
              if (tc.isDebugEnabled()) Tr.debug(tc, "This data item contains " + _dataSize + " bytes of data");
              
              _rus.payloadAdded(_dataSize + HEADER_SIZE);
              _rus.payloadWritten(_dataSize + HEADER_SIZE);            
              _written = true;
              
              if (_storageMode == MultiScopeRecoveryLog.MEMORY_BACKED)
              {
                  if (tc.isDebugEnabled()) Tr.debug(tc, "Reading " + _dataSize + "bytes of data @ position " + logRecord.position());
                  _data = new byte[_dataSize];
                  _logRecord.get(_data);
              }
              else
              {
                  if (tc.isDebugEnabled()) Tr.debug(tc, "Tracking " + _dataSize + "bytes of data @ position " + logRecord.position());
                  _filePosition = logRecord.position();
                  _data = null;
                  _logRecord.advancePosition(_dataSize);          
              }
          }
          catch (java.nio.BufferUnderflowException exc)
          {
              FFDCFilter.processException(exc, "com.ibm.ws.recoverylog.spi.SingleDataItem.setData", "180", this);
              throw new InternalLogException(exc);
          }
          catch (Exception exc)
          {
              FFDCFilter.processException(exc, "com.ibm.ws.recoverylog.spi.SingleDataItem.setData", "185", this);
              throw new InternalLogException(exc);
          }
  
          if (tc.isEntryEnabled()) Tr.exit(tc, "setData");
      }