docs: public void write() throws InternalLogException
    {
      if (tc.isEntryEnabled()) Tr.entry(tc, "write", this);
  
      // If the parent recovery log instance has experienced a serious internal error then prevent
      // this operation from executing.
      if (_recLog.failed())
      {
        if (tc.isEntryEnabled()) Tr.exit(tc, "write",this);
        throw new InternalLogException(null);
      }
  
      // If there is unwritten data stored within this recoverable unit section then direct the 
      // parent recoverable unit to perform a write for this recoverable unit section. We have
      // to go via the parent because this class has no knowledge of the parents recovery log
      // record structure etc..
      while (_unwrittenData.size() > 0)
      {
        final byte[] data = (byte[]) _unwrittenData.get(0);
        final int   index = _writtenData.size();
        try
        {
            if (_singleData)
            {
                if (_singleDataUpdated)
                    _recLog.updateRUSection(_recoverableUnitIdentity , _identity, data);
                else
                    _recLog.writeRUSection(_recoverableUnitIdentity , _identity, index, data);
            }
            else
            {
                _recLog.writeRUSection(_recoverableUnitIdentity , _identity, 1 + index, data);
            }
        }
        catch(InternalLogException exc)
        {
          FFDCFilter.processException(exc, "com.ibm.ws.recoverylog.spi.SQLRecoverableUnitSectionImpl.write", "437", this);
          if (tc.isEntryEnabled()) Tr.exit(tc, "write", exc);
          throw exc;
        }
       
        // db updated so now update our internal tables
        _unwrittenData.remove(0);
        _writtenData.add(data);     
  
      }
      
      if (tc.isEntryEnabled()) Tr.exit(tc, "write");
    }