class NonBlockingQueue implements IQueue<T> {

    @Override
    public T take() throws InterruptedException {
        throw new UnsupportedOperationException("Blocking take operation is not supported.");
    }

    public  NonBlockingQueue(final Queue<T> queue);

}