code: protected int fillBuffer(byte[] buffer,
                               int offset,
                               int length)
                      throws ObjectManagerException {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          "fillBuffer",
                          new Object[] { buffer,
                                        new Integer(offset),
                                        new Integer(length) });
  
          // TODO Could do better by collecting the bytes from the log record directly into the logBuffer, or the log file
          // TODO for large logRecords .
          while (length > 0) {
  
              int lengthToCopy = Math.min(buffers[bufferCursor].getCount() - bufferByteCursor
                                          , length);
              System.arraycopy(buffers[bufferCursor].getBuffer()
                               , bufferByteCursor
                               , buffer
                               , offset
                               , lengthToCopy);
              offset = offset + lengthToCopy;
              length = length - lengthToCopy;
              bufferByteCursor = bufferByteCursor + lengthToCopy;
              if (length > 0) { // Room for some more?
                  bufferCursor++;
                  bufferByteCursor = 0;
              }
          } // while (length > 0). 
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this, cclass
                         , "fillBuffer"
                         , "returns offset=" + offset + "(int)"
                              );
          return offset;
      }
docs: Fills a buffer with bytes in the next part serialized LogRecord.
  
  @param buffer we are to put the next part of this logRecord into.
  @param offset into the buffer where we are to put the next part of this LogRecord.
  @param length of the logBuffer we may fill this time round. If it is not sufficient
  to contain the whole logRecord.
  @return int the new offset once the buffer has been filled.
  @throws ObjectManagerException