internal ProductionNode(VariableNode parent, params VariableNode[] children) { this.parent = parent; this.children = new HashSet<VariableNode>(children); }