question: 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 ) ; } } }
target:  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.