code: public boolean removeSearch(Search<SolutionType> search) {
          // synchronize with status updates
          synchronized (getStatusLock()) {
              // assert idle
              assertIdle("Cannot remove search from basic parallel search algorithm.");
              // check if search was added
              if(searches.contains(search)){
                  // remove search
                  searches.remove(search);
                  // stop listening to events fired by this search
                  search.removeSearchListener(subsearchListener);
              }
              return false;
          }
      }
docs: Remove the given search. If the search was never added, <code>false</code> is returned.
  Note that this method may only be called when the search is idle.
  
  @param search search to be removed from parallel algorithm
  @return <code>true</code> if search is successfully removed
  @throws SearchException if the search is not idle