class AndPredicate implements Predicate<T> {

    @Override
    public boolean test(T input)
    {
        for (Predicate<? super T> p : myPredicates)
        {
            if (!p.test(input))
            {
                return false;
            }
        }
        return true;
    }

    public  AndPredicate(Collection<? extends Predicate<? super T>> predicates);
    public  AndPredicate(Predicate<? super T> arg1, Predicate<? super T> arg2);

}