class EndsWithPredicate implements Predicate<String> {

    @Override
    public boolean test(String input)
    {
        if (input == null)
        {
            return false;
        }
        String subject = myIgnoreCase ? input.toLowerCase() : input;
        for (String allowed : mySuffixes)
        {
            if (subject.endsWith(allowed))
            {
                return true;
            }
        }
        return false;
    }

    public  EndsWithPredicate(Collection<? extends String> suffixes);
    public  EndsWithPredicate(String... suffixes);
    public  EndsWithPredicate(Collection<? extends String> suffixes, boolean ignoreCase);

}