presto-matching/src/main/java/io/prestosql/matching/Property.java/Property/Property
class Property:    public Property(String name, BiFunction<F, C, Optional<T>> function)
    {
        this.name = requireNonNull(name, "name is null");
        this.function = requireNonNull(function, "function is null");
    }