protected synchronized void buildCache(){
  TopologicalSort.DirectedGraph<EventListenerNode> graph=new TopologicalSort.DirectedGraph<>();
  unsortedListeners.forEach(null);
  unsortedListeners.forEach(null);
  sortedListeners=TopologicalSort.topologicalSort(graph);
}

protected synchronized void buildCache ( ) { TopologicalSort . DirectedGraph < EventListenerNode > graph = new TopologicalSort . DirectedGraph < > ( ) ; unsortedListeners . forEach ( null ) ; unsortedListeners . forEach ( null ) ; sortedListeners = TopologicalSort . topologicalSort ( graph ) ; }
builds an ordered list cachedlisteners . sorts using topological sort algorithm .
