sort of like a \"blocking set\". How can I implement a blocking queue where adding a member that is already in the set is ignored?
class BlockingSet extends ArrayBlockingQueue { /*Retain all other methods except put*/ public void put(E o) throws InterruptedException { if (!this.contains(o)){ super.put(o); } } }