To implement the predicate generating functions of PropertyRelationRuleBase the easiest and sound option is to write wrapping predicate that
- can take a rule instance (and aditional needed info like source, destination, or minimum rule type).
- call the specific method of the rule (IsSourceCandidate, IsDestinationCandidate, HasRelation)
- uses the result to determin the check result.