make ExpressionDecideRule a plain DecideRule that returns ACCEPT when th...

...e expression evaluates true and REJECT if not, which I think is more intuitive and more appropriate in this case

For example, Processor#shouldProcessRule accepts urls if the DecideRule returns ACCEPT or PASS, and only rejects on explicit REJECT. So if ExpressionDecideRule were a PredicatedDecideRule, if you wrote your shouldProcessRule as an ACCEPT rule, it turns out that all urls get processed. Only by inverting the logic of the rule and setting decision=REJECT will it work as expected. That seems undesirable.