Ensure predicates are applied during matching

Currently null checks are done separately, which is inconsistent.
Normalizing this behaviour for 2.0

Note that all the `legacyNullPredicateCheck` parameters should be removed when the 1.9 parser is expired.