Table renders at wrong time


I have a strange issue, when I try to add an item to a datasource of a table, It renders immediately after adding, not waiting for me to fill in the values. After that it does not get corrected.

Here is some code, probably it tells more:

private IndexedContainer privContainer = new IndexedContainer();
private Table privTable = new Table();

privContainer.addContainerProperty(priv_PROPERTY_TYPE, Integer.class,0);
privContainer.addContainerProperty(priv_PROPERTY_USER, SID.class,SID.SYSTEM);
privContainer.addContainerProperty(priv_PROPERTY_READ, Boolean.class,false);
privContainer.addContainerProperty(priv_PROPERTY_WRITE, Boolean.class,false);
privContainer.addContainerProperty(priv_PROPERTY_EXEC, Boolean.class,false);

privTable.addGeneratedColumn(priv_PROPERTY_TYPE, this);
privTable.addGeneratedColumn(priv_PROPERTY_USER, this);



public Component generateCell(Table source, Object itemId, Object columnId) {
  if (source.getItem(itemId).getItemProperty(columnId).getValue() == null) return null;
  if (priv_PROPERTY_TYPE.equals(columnId)) {
    SID sid = (SID)(source.getItem(itemId).getItemProperty(priv_PROPERTY_USER).getValue());
  } else if (priv_PROPERTY_USER.equals(columnId)) {
    SID sid = (SID)source.getItem(itemId).getItemProperty(priv_PROPERTY_USER).getValue();
    return new Label(sid.getAccountName());
  return null;

public void buttonClick(ClickEvent event) {
    FtmACE face = new FtmACE();

    Item privItem = privContainer.addItem(face);

When the program is finished adding item on line 34, vaadin renders my table with the emptyValue SID [I just picked something, null is worse]
. After it I give it the SID (containing username, type, etc.), but it won’t update the table. Refresh does not help. This whole thing is in a Window if it matters.
What am I missing here?

I think I have ran into this:
Column is generated as soon as possible.
I figured out, that invoking a sort makes it re-rendered when everything is there.