SwingUtilities.invokeLater(new Runnable() {
public void run() {
ArrayList columns = new ArrayList();
if (classDisplayed.equals(ClassDisplayed.NODE)) {
ETableColumnModel columnModel = (ETableColumnModel) nodeTable.getOutlineTable().getColumnModel();
DefaultComboBoxModel model = new DefaultComboBoxModel();
for (int i = 0; i < columnModel.getColumnCount(); i++) {
if (!columnModel.isColumnHidden(columnModel.getColumn(i))) {
model.addElement(columnModel.getColumn(i).getHeaderValue());
columns.add(columnModel.getColumn(i).getHeaderValue());
}
}
columnComboBox.setModel(model);
if (columns.equals(previousNodeFilterColumns) && previousNodeColumnsFilterIndex < columnComboBox.getItemCount()) {//Preserve user selected column when the columns list does not change