class And extends GenericCompositeMatcher {

    @Override
    public Collection<MailAddress> match(final Mail mail) throws MessagingException {
        ImmutableList<Set<MailAddress>> individualMatchedResults = performMatchOnMatchers(mail);
        return computeIntersection(individualMatchedResults);
    }

}