base/common/src/main/com/thesett/common/util/queues/Queues.java
public static <E> Queue<E> getTransactionalReQueue(java.util.Queue<E> queue, Collection<E> requeue)
    {
        return new WrapperQueue<E>(queue, requeue, true, false, false);
    }
public static <E> Queue<E> getTransactionalReQueue(java.util.Queue<E> queue, Collection<E> requeue)
    {
        return new WrapperQueue<E>(queue, requeue, true, false, false);
    }
public static < E > Queue < E > getTransactionalReQueue ( java . util . Queue < E > queue , Collection < E > requeue ) { return new WrapperQueue < E > ( queue , requeue , true , false , false ) ; }
Provides a transactional requeue, that delays all queue manipulation operations until the transaction is
committed, or erases them if it is rolled back. As this is a requeue, the requeue buffer may be examined directly
and the queue fully supports browsing with iterators.

@param  queue   The queue to use as the underlying queue implementation for the requeue.
@param  requeue The collection to use for the requeue buffer.
@param  <E>     The type of queue element.

@return A transactional requeue.
Provides a transactional requeue that delays all queue manipulation operations until the transaction is committed or erases them if it is rolled back . As this is a requeue the requeue buffer may be examined directly and the queue fully supports browsing with iterators .