code: @Override
      public List<Server> getEligibleServers(List<Server> servers, Object loadBalancerKey) {
          List<Server> result = super.getEligibleServers(servers, loadBalancerKey);
          Iterator<AbstractServerPredicate> i = fallbacks.iterator();
          while (!(result.size() >= minimalFilteredServers && result.size() > (int) (servers.size() * minimalFilteredPercentage))
                  && i.hasNext()) {
              AbstractServerPredicate predicate = i.next();
              result = predicate.getEligibleServers(servers, loadBalancerKey);
          }
          return result;
      }
docs: Get the filtered servers from primary predicate, and if the number of the filtered servers
  are not enough, trying the fallback predicates