public void Calculate() { if (Traversal == null) { Traversal = new CanvasCalculator(this); } Traversal.TraverseAll(); if (outputNode == null) { outputNode = nodes.Find((Node n) => n.GetID == OutputNodeID) as OutputNode; } output = outputNode.GetValue; }