public TM build() {
            Objects.requireNonNull(model.valuesSupplier, "Value supplier not set");

            boolean requiresRowKeyProvider = model.rowKeyProvider == null && (model.rowKeyConverter != null || model.rowKeyField != null);
            if (requiresRowKeyProvider) {
                if (model.rowKeyConverter != null) {
                    model.rowKeyProvider = model::getRowKeyFromConverter;
                }
                else {
                    Objects.requireNonNull(model.rowKeyField, "rowKeyField is mandatory if no rowKeyProvider nor converter is provided");

                    PropertyDescriptorResolver propResolver =
                            PrimeApplicationContext.getCurrentInstance(FacesContext.getCurrentInstance()).getPropertyDescriptorResolver();
                    model.rowKeyProvider = obj -> propResolver.getValue(obj, model.rowKeyField);
                }
            }
            return model;
        }
Registers a callback that can decide to ignore the given filter completely.
You may manually respect the filter in the {@link #valuesSupplier}.

@param ignoreFilter the callback
@return the current builder
primefaces/src/main/java/org/primefaces/model/DefaultLazyDataModel.java