Use Concurrent instead of synchronized
Do not call getSession by default
increase loggging
Fix merge
Add a timeout test
Fixes #1342
Improve fix for #1342
Clear the listeners when destroy is invoked
Prevent NPE
Improve fix for #1342
Fix the test
Fix test
Fixes #1345
Improve perf by avoiding the binary search. This is overkill with large messages
Unexecpted tab
First Fix for #1338
Fixes for #1346
Final fixes #1346
First pass for #1347: Bound Async Write Executors to 200, reduce keepAlive to 30 seconds
Fix javadoc