public void removeLocators(LookupLocator[] locators){
  testSetForNull(locators);
synchronized (this) {
    if (terminated) {
      throw new IllegalStateException("discovery terminated");
    }
    HashMap groupsMap=new HashMap(1);
    for (int i=0; i < locators.length; i++) {
      LocatorReg reg=removeDiscoveredLocator(locators[i]);
      if (reg != null) {
        groupsMap.put(reg.proxy,reg.memberGroups);
        continue;
      }
      reg=findReg(locators[i]);
      if (reg != null) {
        undiscoveredLocators.remove(reg);
      }
    }
    if (!groupsMap.isEmpty() && !listeners.isEmpty()) {
      addNotify((ArrayList)listeners.clone(),groupsMap,true);
    }
  }
}

public void removeLocators ( LookupLocator [ ] locators ) { testSetForNull ( locators ) ; synchronized ( this ) { if ( terminated ) { throw new IllegalStateException ( "discovery terminated" ) ; } HashMap groupsMap = new HashMap ( 1 ) ; for ( int i = 0 ; i < locators . length ; i ++ ) { LocatorReg reg = removeDiscoveredLocator ( locators [ i ] ) ; if ( reg != null ) { groupsMap . put ( reg . proxy , reg . memberGroups ) ; continue ; } reg = findReg ( locators [ i ] ) ; if ( reg != null ) { undiscoveredLocators . remove ( reg ) ; } } if ( ! groupsMap . isEmpty ( ) && ! listeners . isEmpty ( ) ) { addNotify ( ( ArrayList ) listeners . clone ( ) , groupsMap , true ) ; } } }
deletes a set of locators from the managed set of locators , and discards any already - discovered lookup service that corresponds to a deleted locator . for any lookup service that is discarded as a result of an invocation of this method , a discard notification is sent ; and that lookup service will not be eligible for re - discovery ( assuming it is not currently eligible for discovery through other means , such as group discovery ) . < p / > if the empty array is input , this method takes no action .
