Hi Jorg,
the predicate you provide matches against a list of events. So if the predicate returns false, there is now way for Axon to know which event triggered the predicate. In fact, it may not even be a single event, but a certain occurrence of consecutive events.
The idea of the ConflictResolver is that you define a specific predicate for a specific (potential) conflict. If there are more than one potential conflicts, simply invoke the ConflictResolver multiple times. In that case, when the predicate "fails", you should know why and be able to provide a message directly.
Or am I missing something that you're trying to achieve?
Cheers,
Allard