parquet-column/src/main/java/org/apache/parquet/filter2/predicate/FilterApi.java
public static <T extends Comparable<T>, U extends UserDefinedPredicate<T>>
    UserDefined<T, U> userDefined(Column<T> column, Class<U> clazz) {
    return new UserDefinedByClass<T, U>(column, clazz);
  }
public static <T extends Comparable<T>, U extends UserDefinedPredicate<T>>
    UserDefined<T, U> userDefined(Column<T> column, Class<U> clazz) {
    return new UserDefinedByClass<T, U>(column, clazz);
  }
Keeps records that pass the provided {@link UserDefinedPredicate}
<p>
The provided class must have a default constructor. To use an instance
of a UserDefinedPredicate instead, see userDefined below.

@param column a column reference created by FilterApi
@param clazz a user-defined predicate class
@param <T> the Java type of values in the column
@param <U> a user-defined predicate for values of type T
@return a user-defined predicate for the given column