Looks like should be `BlockingQueue` too and without `synchronized (channelList)`.
Anyway this PR should be rebased