protected Future evaluate()

in src/main/java/com/twitter/nodes/AndNode.java [63:77]


  protected Future<Boolean> evaluate(final List<Node<Boolean>> operands) {
    if (operands.size() == 1) {
      return operands.get(0).apply();
    }

    return operands.get(0).apply().flatMap(
        new com.twitter.util.Function<Boolean, Future<Boolean>>() {
          @Override
          public Future<Boolean> apply(Boolean value) {
            return value
                ? evaluate(operands.subList(1, operands.size()))
                : FALSE_FUTURE;
          }
        });
  }