public int drainTo()

in src/main/java/org/apache/commons/pool3/impl/LinkedBlockingDeque.java [510:526]


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