TableItem tableItem = (TableItem)element;
T nakedObjectProperty = Generics.asT(tableItem.getData());
MetadataDescriptor metadataDescriptor = getMetadataDescriptor(property);
metadataDescriptor.modify(nakedObjectProperty, value);
doModify(nakedObjectProperty, property, value);
}
protected abstract void doModify(T element, String property, Object value);