Table not Updated when Items are added to a custom Container

Hi!

I am trying to set up a Table using a custom “Container”. When I add items to the container using custom methods, the table remains empty.

The custom container implements the interfaces (from com.vaadin.data): Container, Container.PropertySetChangeNotifier and Container.ItemSetChangeNotifier.
I add the Items using custing methods (for example addAll), and the custom method emits events to all change listeners:

public class MyContainer
    implements Container, Container.PropertySetChangeNotifier, Container.ItemSetChangeNotifier
{
    private Collection<? extends MyItemType> my_data_ = ...;

    public boolean addAll(Collection<? extends MyItemType> c)
    {
        boolean r = my_data_.addAll(c);
        emitItemSetChange();
        return r;
    }

    // =========== Interface Container.ItemSetChangeNotifier ==============

    private Set<ItemSetChangeListener> itemSetChangeListeners_ =
        new HashSet<ItemSetChangeListener>();

    @SuppressWarnings("serial")
    private void emitItemSetChange()
    {
        for (ItemSetChangeListener l : itemSetChangeListeners_)
            l.containerItemSetChange(new ItemSetChangeEvent() {
                @Override
                public Container getContainer() { return MyContainer.this; }
            });
    }

    @Override
    public void addItemSetChangeListener(ItemSetChangeListener listener)
    { itemSetChangeListeners_.add(listener); }

    @Override
    public void addListener(ItemSetChangeListener listener)
    {  addItemSetChangeListener(listener); }

    @Override
    public void removeItemSetChangeListener(ItemSetChangeListener listener)
    { itemSetChangeListeners_.remove(listener); }

    @Override
    public void removeListener(ItemSetChangeListener listener)
    { removeItemSetChangeListener(listener); }
}

Note that when I call item_table_.setContainerDataSource(item_table_.getContainerDataSource()); then the table is properly populated.

What am I missing here? Whe do I have to reset the data source, and why does it not work automagically?

Thanks for your help.