private Constructor CreateConstructor(List <Node> parameters) { parameters.CheckLength(4); var node = new Constructor { Visibility = (Visibility)parameters[0], Parameters = ((NodeList)parameters[1])?.Nodes.Cast <Parameter>().ToList(), BaseArguments = ((NodeList)parameters[2])?.Nodes.Cast <Expression>().ToList(), Body = (Body)parameters[3] }; node.AddChildren(node.Body, node.Visibility, node.Body); node.AddChildren(node.BaseArguments?.ToArray()); node.AddChildren(node.Parameters?.ToArray()); return(node); }