I am using a ConcurrentHashMap to cache task that I am processing on a SocketChannel. The StreamTask is a Runnable that is use to reschedules itself if the round trip threshold is elapse during client server communication, therefore it will remove itself from the cache if time elapse. Furthermore, StreamWriteTask thread will put it on the cache and the StreaReadTask will attempt to remove it. I am using a ConcurrentHashMap to cache task th