public SuperinterfacesEditor(ObjectType objectType, ObjectType[] currentSuperinterfaces, ObjectType[] possibleSupertinterfaces) { this.InitializeComponent(); this.objectType = objectType; var checkedSuperinterfaces = new ArrayList(currentSuperinterfaces); var superinterfaces = new ArrayList(possibleSupertinterfaces); superinterfaces.Sort(); foreach (ObjectType superType in superinterfaces) { var index = this.superinterfacesCheckedListBox.Items.Add(superType); if (checkedSuperinterfaces.Contains(superType)) { this.superinterfacesCheckedListBox.SetItemChecked(index, true); var inheritance = objectType.FindInheritanceWhereDirectSubtype(superType); { if (inheritance != null && inheritance.DomainWhereDeclaredInheritance.IsSuperDomain) { this.superinterfacesCheckedListBox.SetItemCheckState(index, CheckState.Indeterminate); } } } } }