Not really in my view. The wrapped predicate is not even documented, and there is no reason it should return anything in particular, you only need to know it behaves as a predicate. On the other hand the method patched here is public, he is the one responsible for his contract.