XAF_Bootstrap.Controls.XafBootstrapStructureView.FindSelectable C# (CSharp) Метод

FindSelectable() приватный Метод

private FindSelectable ( String oid, IEnumerable list = null ) : ITreeNode
oid String
list IEnumerable
Результат ITreeNode
        private ITreeNode FindSelectable(String oid, IEnumerable<ITreeNode> list = null)
        {
            if (list == null)
                list = Collection.List.OfType<ITreeNode>();
            var result = list.FirstOrDefault(f => GetKey(f) == oid);
            if (result == null)
            {
                foreach(var item in list.OfType<ITreeNode>())
                {
                    if (item.Children.Count > 0) {
                        var inner = FindSelectable(oid, item.Children as IEnumerable<ITreeNode>);
                        if (inner != null)
                            return inner;
                    }
                }
            }
            return result;
        }