public class PriorityFirstEventListenerComparator
If one of the argument is instance of PriorityAwareEventListener and another isn't, will always evaluate
a PriorityAwareEventListener as a greater.
If both eventListeners are instances of PriorityAwareEventListener compares them using their comparator,
If none of them is PriorityAwareEventListener will simply use hashcode