code: final void writeHeader()
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          "writeHeader");
  
          // Write the header.
          sharedBuffer.clear();
          sharedBuffer.putInt(version);
          for (int i = 0; i < signature.length(); i++)
              sharedBuffer.putChar(signature.charAt(i));
          sharedBuffer.putLong(objectStoreIdentifier);
          sharedBuffer.putLong(((Directory.Node) directory.root).byteAddress);
          sharedBuffer.putLong(((Directory.Node) directory.root).length);
          sharedBuffer.putInt(directory.getMinimumNodeSize());
          if (freeSpaceStoreArea == null) {
              sharedBuffer.putLong(0);
              sharedBuffer.putLong(0);
          } else {
              sharedBuffer.putLong(freeSpaceStoreArea.byteAddress);
              sharedBuffer.putLong(freeSpaceStoreArea.length);
          }
          sharedBuffer.putLong((long) freeSpaceByLength.size());
          sharedBuffer.putLong(sequenceNumber);
          sharedBuffer.putLong(storeFileSizeUsed);
          sharedBuffer.putLong(minimumStoreFileSize);
          sharedBuffer.putLong(maximumStoreFileSize);
          sharedBuffer.putInt(cachedManagedObjectsSize);
  
          sharedBuffer.flip();
          writeBuffer(sharedBuffer,
                      0);
  
          // Write the header twice.
          sharedBuffer.flip();
          writeBuffer(sharedBuffer,
                      pageSize);
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         "writeHeader"
                              );
      }
docs: Writes the fileStore header.
  
  @throws ObjectManagerException