public List<ServerName> getOnlineServersListWithPredicator(List<ServerName> keys,
    Predicate<ServerMetrics> idleServerPredicator) {
    List<ServerName> names = new ArrayList<>();
    if (keys != null && idleServerPredicator != null) {
      keys.forEach(name -> {
        ServerMetrics load = onlineServers.get(name);
        if (load != null) {
          if (idleServerPredicator.test(load)) {
            names.add(name);
          }
        }
      });
    }
    return names;
  }
@param keys                 The target server name
@param idleServerPredicator Evaluates the server on the given load
@return A copy of the internal list of online servers matched by the predicator
hbase-server/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java