diff --git a/ICD.Common.Utils/RecursionUtils.cs b/ICD.Common.Utils/RecursionUtils.cs index 7f3c853..ad0e857 100644 --- a/ICD.Common.Utils/RecursionUtils.cs +++ b/ICD.Common.Utils/RecursionUtils.cs @@ -36,14 +36,18 @@ namespace ICD.Common.Utils /// Gets the clique containing the given node. /// /// - /// /// /// /// - public static IEnumerable GetClique(IEnumerable nodes, T node, Func> getAdjacent) + public static IEnumerable GetClique(T node, Func> getAdjacent) { - Dictionary> map = nodes.ToDictionary(n => n, getAdjacent); - return GetClique(map, node); + if (node == null) + throw new ArgumentNullException("node"); + + if (getAdjacent == null) + throw new ArgumentNullException("getAdjacent"); + + return BreadthFirstSearch(node, getAdjacent); } ///