public RegisterableChannel getChannel() {
            return runnable.getChannel();
        }
    }
    
    public Runnable poll()
    {
        return getAvailableRunnable();
    }

    /**
     * @see java.util.Queue#remove()
     */
    public Runnable remove()
    {
        throw new UnsupportedOperationException("not supported yet");
    }

    /**
     * @see java.util.Queue#peek()
     */
    public Runnable peek()
    {
        return queue.peek();
    }

    /**
     * @see java.util.Queue#element()
     */
    public Runnable element()
    {
        return queue.element();
    }

    /**
     * @see java.util.Collection#size()
     */
    public int size()
    {
        return queue.size();
    }

    /**
     * @see java.util.Collection#isEmpty()
     */
    public boolean isEmpty()
    {
        return queue.isEmpty();
    }

    /**
     * @see java.util.Collection#contains(java.lang.Object)
     */
    public boolean contains(Object o)
    {
        return queue.contains(o);
    }

    /**
     * @see java.util.Collection#iterator()
     */
    public Iterator<Runnable> iterator()
    {
        return queue.iterator();
    }

    /**
     * @see java.util.Collection#toArray()
     */
    public Object[] toArray()
    {
        return queue.toArray();
    }

    /**
     * @see java.util.Collection#toArray(T[])
     */
    public <T> T[] toArray(T[] a)
    {
        return queue.toArray(a);
    }

    /**
     * @see java.util.Collection#remove(java.lang.Object)
     */
    public boolean remove(Object o)
    {
        return queue.remove(o);
    }

    /**
     * @see java.util.Collection#containsAll(java.util.Collection)
     */
    public boolean containsAll(Collection< ? > c)
    {
        return queue.containsAll(c);
    }

    /**
     * @see java.util.Collection#addAll(java.util.Collection)
     */
    public boolean addAll(Collection< ? extends Runnable> c)
    {
        return queue.addAll(c);
    }

    /**
     * @see java.util.Collection#removeAll(java.util.Collection)
     */
    public boolean removeAll(Collection< ? > c)
    {
        return queue.removeAll(c);
    }

    /**
     * @see java.util.Collection#retainAll(java.util.Collection)
     */
    public boolean retainAll(Collection< ? > c)
    {
        return queue.retainAll(c);
    }