int drainTo()

in src/main/java/org/apache/commons/pool3/impl/LinkedBlockingDeque.java [515:531]


    int drainTo(final Collection<? super E> collection, final int maxElements) {
        Objects.requireNonNull(collection, "c");
        if (collection == this) {
            throw new IllegalArgumentException();
        }
        lock.lock();
        try {
            final int n = Math.min(maxElements, count);
            for (int i = 0; i < n; i++) {
                collection.add(first.item); // In this order, in case add() throws.
                unlinkFirst();
            }
            return n;
        } finally {
            lock.unlock();
        }
    }