Step 1 - You should fix your showPinColumn code and use FieldUpdater to actually update the object.
final CheckboxCell cbCell = new CheckboxCell();
Column<Article, Boolean> cbColumn = new Column<Article, Boolean>(cbCell) {
@Override
public Boolean getValue(Article object) {
System.out.println("method getValue() - " + object.id + " - " + object.checked);
return object.checked;
}
};
cbColumn.setFieldUpdater(new FieldUpdater<Fieldupdater.Article, Boolean>() {
@Override
public void update(int index, Article object, Boolean value) {
System.out.println("method update() - " + object.id + " - " + value);
}
});
Step 2- You should only iterate over each of the items in the "list" that you set into the celltable and check for the boolean property in Article.