code: private int writeBuffer(java.nio.ByteBuffer byteBuffer,
                              long byteAddress)
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          "writeBuffer",
                          new Object[] { new Integer(byteBuffer.hashCode()), new Long(byteAddress) }
                              );
  
          // Write the bytes.
          int bytesWritten = 0;
          try {
              while (byteBuffer.hasRemaining()) {
                  bytesWritten = bytesWritten + storeChannel.write(byteBuffer,
                                                                   byteAddress + bytesWritten);
              } // while (byteBuffer.hasRemaining()).
          } catch (java.io.IOException exception) {
              // No FFDC Code Needed.
              ObjectManager.ffdc.processException(this, cclass, "writeBuffer", exception, "1:833:1.39");
  
              if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                  trace.exit(this,
                             cclass,
                             "writeBuffer");
  
              // cannot continue
              objectManagerState.requestShutdown();
              throw new PermanentIOException(this,
                                             exception);
          } // catch.
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         "writeBuffer",
                         new Object[] { new Integer(bytesWritten) });
          return bytesWritten;
      }
docs: Write a byteBuffer. May return before the write completes.
  
  @param byteBuffer to be written.
  @param byteAddress that the buffer is to be was written at.
  @return int the number of bytes written.
  @throws ObjectManagerException