public void AddEdges(IOperator @operator, IUnit res, params IUnit[] @params) { foreach (var(operands, @op, r) in @operator.GetInferedOperations(res, @params)) { if (!GraphEdges.ContainsKey(operands[0])) { GraphEdges.Add(operands[0], new HashSet <OperatorNodeEdge>()); } GraphEdges[operands[0]].Add(new OperatorNodeEdge(op, r, operands.Skip(1).ToArray())); } ; }