code: void fileClose() throws InternalLogException
      {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "fileClose", this);
  
          if (_fileChannel != null)
          {
              try
              {
                  // Don't close channel as it will free a lock - wait until file close
  
                  if (_outstandingWritableLogRecords.get() == 0 && !_exceptionInForce)
                  {
                      force(); // make sure all records really are on disk
  
                      // Now we know that there are no gaps in the records and none have failed
                      // to be written, byte by byte scanning at the next start can be avoided.
                      _logFileHeader.setCleanShutdown(); // set the fact that shutdown was clean
                      writeFileHeader(false); // write clean shutdown into header
                      force();
                  }
  
                  _file.close();
              } catch (Throwable e)
              {
                  FFDCFilter.processException(e, "com.ibm.ws.recoverylog.spi.LogFileHandle.fileClose", "541", this);
                  if (tc.isEntryEnabled())
                      Tr.exit(tc, "fileClose", "InternalLogException");
                  throw new InternalLogException(e);
              }
  
              _fileBuffer = null;
              _file = null;
              _fileChannel = null;
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "fileClose");
      }
docs: Close the file managed by this LogFileHandle instance.
  
  @exception InternalLogException An unexpected error has occured.