}
return (FeatureDescription[]) result.toArray(new FeatureDescription[result.size()]);
}
private void addTypeToGUI(TypeDescription td) {
TableTreeItem item = new TableTreeItem(tt, SWT.NONE);
item.setText(NAME_COL, formatName(td.getName()));
item.setText(SUPER_COL, formatName(td.getSupertypeName()));
item.setData(td);
setItemColor(item, isLocalType(td));
FeatureDescription[] features = td.getFeatures();
addFeaturesToGui(td, item, features);
TypeDescription builtInTd = getBuiltInTypeDescription(td);
if (null != builtInTd) {
FeatureDescription[] additionalBuiltInFeatures = setDifference(builtInTd.getFeatures(), td
.getFeatures());
addFeaturesToGui(td, item, additionalBuiltInFeatures);
}
AllowedValue[] avs = td.getAllowedValues();
if (null != avs) {
for (int i = 0; i < avs.length; i++) {
TableTreeItem avItem = new TableTreeItem(item, SWT.NONE);
avItem.setText(NAME_COL, HEADER_ALLOWED_VALUE);
avItem.setText(AV_COL, convertNull(avs[i].getString()));
avItem.setData(avs[i]);
setItemColor(avItem, null != getLocalAllowedValue(td, avs[i]));
}
}
// No built-ins have "allowed values" so we don't have to add any
item.setExpanded(true);