replace copyOnWriteArraySet with HashSet