code: private boolean removeInitializationRecord(RecoveryAgent recoveryAgent, FailureScope failureScope) {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "removeInitializationRecord", new Object[] { recoveryAgent, failureScope, this });
  
          boolean found = false;
  
          synchronized (_outstandingInitializationRecords) {
              // Extract the set of failure scopes that the corrisponding client service is currently
              // processing.
              final HashSet failureScopeSet = _outstandingInitializationRecords.get(recoveryAgent);
  
              // Since this method should only be called in response to a request to handle the recovery
              // of a failure scope, then this set should never be null. To avoid a null pointer exception
              // in the event of a client service bug, ensure this set is valid before attempting to
              // remove the given failure scope.
              if (failureScopeSet != null) {
                  // Remove the failure scope. As with the set, if this is not found then this due to a failure in
                  // the client service. In practice, found should never be false.
                  found = failureScopeSet.remove(failureScope);
              }
  
              // Wake all threads currenly waiting on the completion of units of recovery.
              _outstandingInitializationRecords.notifyAll();
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "removeInitializationRecord", found);
          return found;
      }
docs: <p>
  Internal method to remove the record of an outstanding 'serialRecoveryComplete'
  call from the supplied RecoveryAgent for the given failure scope.
  </p>
  
  <p>
  This call will wake up all threads waiting for serial recovery to be completed.
  </p>
  
  <p>
  Just prior to requesting a RecoveryAgent to "initiateRecovery" of a
  FailureScope, the addInitializationRecord method is driven to record the request.
  When the client service completes the serial portion of the recovery process and
  invokes RecoveryDirector.serialRecoveryComplete, this method called to remove
  this record.
  </p>
  
  <p>
  [ SERIAL PHASE ] [ INITIAL PHASE ] [ RETRY PHASE ]
  </p>
  
  @param recoveryAgent The RecoveryAgent that has completed the serial recovery
  processing phase.
  @param failureScope The FailureScope that defined the scope of this recovery
  processing.
  
  @return boolean true if there was an oustanding recovery record, otherwise false.