class ObservableBuffer extends ObservableListBase<E> implements Queue<E> {

    @Override
    public boolean add(final E e)
    {
        if (remainingCapacity() == 0)
        {
            throw new IllegalStateException("Queue full");
        }

        boolean changed = false;
        synchronized (myQueue)
        {
            beginChange();
            try
            {
                if (myQueue.add(e))
                {
                    changed = true;
                    nextAdd(myQueue.size() - 1, myQueue.size());
                }
            }
            finally
            {
                endChange();
            }
        }
        return changed;
    }

    public  ObservableBuffer(final int capacity);

}