code: private void writeFileHeader(boolean maintainPosition) throws InternalLogException
      {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "writeFileHeader", new java.lang.Object[] { this, new Boolean(maintainPosition) });
  
          // Build the buffer that forms the major part of the file header and
          // then convert this into a byte array.
          try
          {
              if (tc.isDebugEnabled())
                  Tr.debug(tc, "Writing header for log file " + _fileName);
              _logFileHeader.write(_fileBuffer, maintainPosition);
              force();
          } catch (InternalLogException exc)
          {
              FFDCFilter.processException(exc, "com.ibm.ws.recoverylog.spi.LogFileHandle.writeFileHeader", "706", this);
              if (tc.isEntryEnabled())
                  Tr.exit(tc, "writeFileHeader", exc);
              throw exc;
          } catch (Throwable exc)
          {
              FFDCFilter.processException(exc, "com.ibm.ws.recoverylog.spi.LogFileHandle.writeFileHeader", "712", this);
              if (tc.isEntryEnabled())
                  Tr.exit(tc, "writeFileHeader", "InternalLogException");
              throw new InternalLogException(exc);
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "writeFileHeader");
      }
docs: Writes the file header stored in '_logFileHeader' to the file managed by this
  LogFileHandle instance.
  
  @param maintainPosition Flag to indicate if file pointer before the header write
  needs to be restored after the header write (ie retain
  the file pointer position)
  
  @exception InternalLogException An unexpected error has occured.