Table entitiesTable = myEntitiesTableViewer.getTable();
entitiesTable.setLayoutData(new GridData(GridData.FILL_BOTH));
TableUtils.sort(myEntitiesTableViewer, EOEntity.NAME);
CellEditor[] cellEditors = new CellEditor[TableUtils.getColumnsForTableNamed(EOEntity.class.getName()).length];
TableUtils.setCellEditor(EOEntity.class.getName(), EOEntity.NAME, new WOTextCellEditor(entitiesTable), cellEditors);
TableUtils.setCellEditor(EOEntity.class.getName(), EOEntity.EXTERNAL_NAME, new WOTextCellEditor(entitiesTable), cellEditors);
TableUtils.setCellEditor(EOEntity.class.getName(), EOEntity.CLASS_NAME, new WOTextCellEditor(entitiesTable), cellEditors);
TableUtils.setCellEditor(EOEntity.class.getName(), EOEntity.PARENT, new KeyComboBoxCellEditor(entitiesTable, new String[0], SWT.READ_ONLY), cellEditors);
myEntitiesTableViewer.setCellModifier(new EOEntitiesCellModifier(myEntitiesTableViewer, cellEditors));
myEntitiesTableViewer.setCellEditors(cellEditors);
new StayEditingCellEditorListener(myEntitiesTableViewer, EOEntity.class.getName(), EOEntity.NAME);