@Override
    public Predicate process(Predicate predicate, PredicateOptions options) {
        return simplifySubTree(predicate, false);
    }
Simplifies a predicate by:
 - Combining child-AND/OR nodes with direct parents of the same type
 - Pushing negations down to leaf nodes by using De Morgan's law.

@author Magnar Nedland
@author bjorncs
predicate-search-core/src/main/java/com/yahoo/search/predicate/optimization/AndOrSimplifier.java