Before rushing in and implementing it I am looking for a ready and tested implementation of a BlockingQueue that allows elements to be replaced/compacted/up