protected override UIElement GetChild() { return(UiElements == null ? null : (UiElements.FirstOrDefault(TestChild) ?? UiElements.FirstOrDefault(x => x.GetValue(WhenProperty) == null))); }