private If CreateIf(List <Node> parameters) { parameters.CheckLength(4); var node = new If { KwIf = (TokenNode)parameters[0], Condition = (Expression)parameters[1], Body = (Body)parameters[2], Else = (Else)parameters[3] }; node.AddChildren(node.Condition, node.Body, node.Body, node.Else); return(node); }