public override void Refine(ItemDefinition currentDefinition, IList<ItemDefinition> allDefinitions) { currentDefinition.ClearAllowedChildren(); foreach(ItemDefinition definition in allDefinitions) { if(IsAssignable(definition.ItemType)) currentDefinition.AddAllowedChild(definition); } }