class ExpirationTypeOracle {

    public Expiration guess(String maybeIso) {
        for (Map.Entry<Expiration, List<String>> value : patterns.entrySet()) {
            for (String pattern : value.getValue()) {
                if (checkIfPatternMatch.apply(pattern, maybeIso).isPresent()) {
                    return value.getKey();
                }
            }
        }
        return Expiration.EXPRESSION;
    }

    public  ExpirationTypeOracle();

}