Use TreeSet instead of ConcurrentSkipList for messages