code: protected void payloadWritten(int payloadSize)
    {
        if (tc.isEntryEnabled()) Tr.entry(tc, "payloadWritten", new Object[] {this, new Integer(payloadSize)});
        
        // Track the unwritten payload decrease directly. We take no account for this classes header
        // values in this figure. The total payload remains unchanged since we are not removing the
        // corrisponding payload, just writing it to the underlying recovery log.
        _unwrittenDataSize -= payloadSize;
        
        // When writing existing payload, if the resulting unwritten data size has gone back down to 
        // zero then there will be no further need to account for the unwritten data header.
        // When we pass on this payload adjustment we must account for the header size.
        if (_unwrittenDataSize == 0)
        {
            _recUnit.payloadWritten(payloadSize + HEADER_SIZE);    
        }
        else
        {
            _recUnit.payloadWritten(payloadSize);   
        }
        
        if (tc.isDebugEnabled()) Tr.debug(tc, "unwrittenDataSize = " + _unwrittenDataSize + " totalDataSize = " + _totalDataSize);
        if (tc.isEntryEnabled()) Tr.exit(tc, "payloadWritten");
    }
docs: Informs the recoverable unit section that previously unwritten data has been
  written to disk by one of its data items and no longer needs to be tracked
  in the unwritten data field. The recoverable unit must use the supplied
  information to track the amount of unwritten active data it holds. This
  information must be passed to its parent recovery log in order that it
  may track the amount of unwritten data in the entire recovery log.
  
  This call is driven by the data item which has been written and accounts for
  both the data and header fields necessary to write the data completly.
  
  Writing data in this manner will not change the total amount of active data
  contained by the recoverable unit so only the unwritten data size will be effected.
  
  @param payloadSize The number of bytes that no longer need to be written in order
  to form a persistent record of the data item when a writeSections
  or forceSections operation is driven by the client service.