code: @Override
      public void closeLog(byte[] serviceData) throws InternalLogException {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "closeLog", new java.lang.Object[] { RLSUtils.toHexString(serviceData, RLSUtils.MAX_DISPLAY_BYTES), this });
  
          // Close the log.
          closeLog();
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "closeLog");
      }
docs: <p>
  Close the recovery log. The RLS will ensure that all active RecoverableUnits
  and RecoverableUnitSections are stored persistently and, if possible that out
  of date information is purged from the recovery log. The recovery log should
  be opened again before further access.
  </p>
  
  <p>
  Since the client service may issue any number of openLog calls, each must be
  paired with a corrisponding closeLog call. This allows common logic to be
  executed on independent threads without any need to determine if a
  recovery log is already open. This model would typically be used when
  different threads obtain the same RecoveryLog object through independant
  calls to <p>RecoveryLogDirector.getRecoveryLog</p>. For example, a recovery
  process may be in progress on one thread whilst forward processing is being
  performed on another. Both pieces of logic may issue their own openLog and
  closeLog calls independently.
  </p>
  
  <p>
  Alternativly, the reference to a RecoveryLog may be shared directly around
  the program logic or between threads. Using this model, a single openLog and
  closeLog pair are required at well defined initialziation and shutdown points
  in the client service.
  </p>
  
  <p>
  This implementation of the RecoveryLog interface uses a simple counter
  '_closesRequired' to track the number of times openLog has been called
  and consiquentially the number of times closeLog must be invoked to
  'fully' close the recovery log.
  <p>
  
  <p>
  This extended version of the <code>RecoveryLog.closeLog()</code> method
  allows the service data to be updated prior to the close operation being
  performed.
  </p>
  
  @param serviceData The updated service data.
  
  @exception InternalLogException Thrown if an unexpected error has occured.