code: private boolean removeRecoveryRecord(RecoveryAgent recoveryAgent, FailureScope failureScope) {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "removeRecoveryRecord", new Object[] { recoveryAgent, failureScope, this });
  
          boolean found = false;
  
          synchronized (_outstandingRecoveryRecords) {
              final HashSet recoveryAgentSet = _outstandingRecoveryRecords.get(failureScope);
  
              if (recoveryAgentSet != null) {
                  found = recoveryAgentSet.remove(recoveryAgent);
              }
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "removeRecoveryRecord", found);
          return found;
      }
docs: <p>
  Internal method to remove the record of an outstanding 'initialRecoveryComplete'
  call from the supplied RecoveryAgent for the given failure scope.
  </p>
  
  <p>
  This call will wake up all threads waiting for initial recovery to be completed.
  </p>
  
  <p>
  Just prior to requesting a RecoveryAgent to "initiateRecovery" of a
  FailureScope, the addRecoveryRecord method is driven to record the request.
  When the client service completes the initial portion of the recovery process and
  invokes RecoveryDirector.initialRecoveryComplete, this method called to remove
  this record.
  </p>
  
  <p>
  [ SERIAL PHASE ] [ INITIAL PHASE ] [ RETRY PHASE ]
  </p>
  
  @param recoveryAgent The RecoveryAgent that has completed the initial 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.