Seems that with current `QueryRendererDelegate` contract, it is impossible to handle cases 2 and 3. They require property paths in both left and right operands, but `predicateEquals` accept String, meaning literal or named parameter. Seems that to handle such cases, the interface should be changed, either should be added additional methods `predicateXxx(PropertyPath)`, or `predicateXxx` methods arguments should be changed from String to some descriptor-- in order to denote actual type of operand (literal, query parameter, property path etc.) |