Мне кажется, что akka BoundedBlockingQueue вполне подходит ( Исходный код ). Я бы действительно подумал об использовании его (по крайней мере, после написания хорошего набора модульных тестов для класса, потому что тесты для этого класса отсутствуют в akka)
FIXME находятся в довольно странных ситуациях, например, вызывают removeAll в очереди поддержки, и после этого он не пуст, что является просто очень плохой ошибкой в реализации класса очереди поддержки.
Я не понял, что вы имеете в виду под "код не позволяет мне сделать конструктор универсальным" .