public static void addToNode_MakesCallsTo(ICirFunctionCall functionCall, TreeNode targetTreeNode, bool alwaysAddDummyChildNode, bool addDontAddRecursiveCalls) { var cirFunction = functionCall.cirFunction; var parentNodes = O2Forms.getStringListWithAllParentNodesName(targetTreeNode); //foreach (var makesCallsTo in cirFunction.FunctionsCalledUniqueList) foreach (var makesCallsTo in cirFunction.FunctionsCalled) { var recursiveCall = parentNodes.Contains(makesCallsTo.cirFunction.FunctionSignature); if (recursiveCall && addDontAddRecursiveCalls) { var nodeText = string.Format("R: {0} : {1} : {2}", makesCallsTo.cirFunction.FunctionName, "....(Recursive Call so not expanding child calls", makesCallsTo.cirFunction.FunctionSignature); targetTreeNode.Nodes.Add(nodeText); } else { addCirFunctionToTreeNodeCollection(makesCallsTo, "=> ", targetTreeNode.Nodes, alwaysAddDummyChildNode || makesCallsTo.cirFunction.FunctionsCalled.Count > 0); } } }