diff --git a/ICD.Common.Utils/RecursionUtils.cs b/ICD.Common.Utils/RecursionUtils.cs
index 694c68a..e30d4bf 100644
--- a/ICD.Common.Utils/RecursionUtils.cs
+++ b/ICD.Common.Utils/RecursionUtils.cs
@@ -84,18 +84,15 @@ namespace ICD.Common.Utils
///
private static IEnumerable GetCliqueIterator(IDictionary> map, IcdHashSet visited, T node)
{
- if (visited.Contains(node))
+ if (!visited.Add(node))
yield break;
- if (!map.ContainsKey(node))
+ IEnumerable adjacent;
+ if (!map.TryGetValue(node, out adjacent))
yield break;
- visited.Add(node);
-
yield return node;
- IEnumerable adjacent = map.GetDefault(node, Enumerable.Empty());
-
foreach (T item in adjacent.SelectMany(a => GetClique(map, visited, a)))
yield return item;
}