parquet-column/src/main/java/org/apache/parquet/filter2/predicate/FilterApi.java
public static <T extends Comparable<T>, U extends UserDefinedPredicate<T> & Serializable>
    UserDefined<T, U> userDefined(Column<T> column, U udp) {
    return new UserDefinedByInstance<T, U>(column, udp);
  }
public static <T extends Comparable<T>, U extends UserDefinedPredicate<T> & Serializable>
    UserDefined<T, U> userDefined(Column<T> column, U udp) {
    return new UserDefinedByInstance<T, U>(column, udp);
  }
Keeps records that pass the provided {@link UserDefinedPredicate}
<p>
The provided instance of UserDefinedPredicate must be serializable.

@param column a column reference created by FilterApi
@param udp a user-defined predicate instance
@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