private void showDialog(String destinationClass, ObjectClassStructure[] structs, NumericOid[] preSelected,
AuxiliaryClassSelectorCallback callback) {
String title = "Select Auxiliary Classes for \"" + destinationClass + "\"";
AuxiliaryClassSelectionTree tree = new AuxiliaryClassSelectionTree(structs, disableReadOnlyAttrs, title);
tree.setSelectedClasses(preSelected);
KongaDialog dialog = new KongaDialog(UiUtils.getActiveWindow(), title);
dialog.standardLayout(tree, KongaDialog.OK_CANCEL);
dialog.manageLocation(AuxiliaryClassSelector.class);
dialog.setVisible(true);
if (dialog.wasOkPressed()) {
List<ObjectClassStructure> selected = tree.getSelectedStructures();
callback.completed(selected.toArray(new ObjectClassStructure[selected.size()]));
} else {
callback.cancelled();
}