if (selectedCat == "uncat") {
datasources = (TableColumnCore[]) listColumnsNoCat.toArray( new TableColumnCore[listColumnsNoCat.size()]);
}
for (int i = 0; i < datasources.length; i++) {
TableColumnCore column = datasources[i];
TableColumnInfo info = tcm.getColumnInfo(forDataSourceType,
forTableID, column.getName());
String[] cats = info == null ? null : info.getCategories();
if (cats == null) {
if (selectedCat == null || selectedCat.equals("uncat")) {
tvAvail.addDataSource(column);
}
} else {
for (int j = 0; j < cats.length; j++) {
String cat = cats[j];
if ((selectedCat == null || selectedCat.equalsIgnoreCase(cat))
&& info.getProficiency() <= selectedProf) {
tvAvail.addDataSource(column);
break;
}
}
}