code: final void writeHeader()
                      throws ObjectManagerException
      {
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.entry(this,
                          cclass,
                          "writeHeader");
  
          byteArrayOutputStream.reset();
          java.io.DataOutputStream dataOutputStream = new java.io.DataOutputStream(byteArrayOutputStream);
  
          // Write the header.
          try {
              dataOutputStream.writeInt(version);
              dataOutputStream.writeChars(signature);
              dataOutputStream.writeLong(objectStoreIdentifier);
              dataOutputStream.writeLong(((Directory.Node) directory.root).byteAddress);
              dataOutputStream.writeLong(((Directory.Node) directory.root).length);
              dataOutputStream.writeInt(directory.getMinimumNodeSize());
              if (freeSpaceStoreArea == null) {
                  dataOutputStream.writeLong(0);
                  dataOutputStream.writeLong(0);
              } else {
                  dataOutputStream.writeLong(freeSpaceStoreArea.byteAddress);
                  dataOutputStream.writeLong(freeSpaceStoreArea.length);
              }
              dataOutputStream.writeLong((long) freeSpaceByLength.size());
              dataOutputStream.writeLong(sequenceNumber);
              dataOutputStream.writeLong(storeFileSizeUsed);
              dataOutputStream.writeLong(minimumStoreFileSize);
              dataOutputStream.writeLong(maximumStoreFileSize);
              dataOutputStream.writeInt(cachedManagedObjectsSize);
  
              dataOutputStream.flush();
              byteArrayOutputStream.flush();
          } catch (java.io.IOException exception) {
              // No FFDC Code Needed.
              ObjectManager.ffdc.processException(this, cclass, "writeHeader", exception, "1:836:1.35");
  
              if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
                  trace.exit(this,
                             cclass,
                             "flush");
              throw new PermanentIOException(this,
                                             exception);
          } // catch.
  
          byte[] buffer = byteArrayOutputStream.getBuffer();
          int length = byteArrayOutputStream.getCount();
          writeBuffer(buffer,
                      0,
                      length,
                      0);
          // Write the header twice.
          writeBuffer(buffer,
                      0,
                      length,
                      pageSize);
  
          if (Tracing.isAnyTracingEnabled() && trace.isEntryEnabled())
              trace.exit(this,
                         cclass,
                         "writeHeader"
                              );
      }
docs: Writes the fileStore header.
  
  @throws ObjectManagerException