rule
Add a rule. All rules run, in the order in which they were defined via this method. If a rule discovers an invalid combination of options and arguments, it should throw a suitable OptionProcessingException whose message text is the ruleText, which will be reported to the user.
Each option is first given the chance to report problems related to only that option, but after that all rules run, allowing consistency checks between options.
Parameters
The rule's body, which returns true iff the rule is satisfied.