code: public Predicate<T> and(final Function<? super T, Boolean>... predicates) {
              final Predicate<T> me = this;
              return new Predicate<T>() {
                  @Override
                  public boolean test(T t) {
                      if (!me.test(t)) {
                          return false;
                      }
                      for (Function<? super T, Boolean> f : predicates) {
                          if (!f.apply(t)) {
                              return false;
                          }
                      }
                      return true;
                  }
              };
          }
docs: Return an <code>Predicate</code> predicate from a list of <code>Function&lt;Boolean, T&gt;</code>
  with AND operation. For any <code>T t</code> to be tested, if any specified predicates
  must returns <code>false</code> on it, the resulting predicate will return <code>false</code>.
  
  @param predicates
  the predicate function array
  @return a function that returns {@code true} only when all functions in {@code predicates} returns
  {@code true} on a given argument
  @since 0.2