Unsafe instead of AtomicReference to save few bytes of RAM per connection
TreeMap => HeaderMap: save a few bytes of memory: no Map.Entry; a little faster