code: final void writeFreeSpace()
                      throws ObjectManagerException {
          final String methodName = "writeFreeSpace";
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          methodName);
  
          // Write the free space map to disk.
          byteArrayOutputStream.reset();
          java.io.DataOutputStream dataOutputStream = new java.io.DataOutputStream(byteArrayOutputStream);
          long freeSpaceByteAddress = freeSpaceStoreArea.byteAddress;
          try {
              FreeSpace freeSpace = freeSpaceByAddressHead;
              while (freeSpace != null) {
                  dataOutputStream.writeLong(freeSpace.address);
                  dataOutputStream.writeLong(freeSpace.length);
                  freeSpace = freeSpace.next;
              } // for freeSpaceByAddress...
              dataOutputStream.flush();
              byteArrayOutputStream.flush();
          } catch (java.io.IOException exception) {
              // No FFDC Code Needed.
              ObjectManager.ffdc.processException(this, cclass, "flush", exception, "1:724:1.35");
  
              if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                  trace.exit(this,
                             cclass,
                             "flush");
              throw new PermanentIOException(this,
                                             exception);
          } // catch.
  
          writeBuffer(byteArrayOutputStream.getBuffer(),
                      0,
                      byteArrayOutputStream.getCount(),
                      freeSpaceByteAddress);
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         methodName);
      }
docs: /*
  (non-Javadoc)
  
  @see com.ibm.ws.objectManager.AbstractSingleFileObjectStore#writeFreeSpace()