/*public procedure_definition NewProcDecl(procedure_definition proc_decl_noclass, LexLocation loc)
         * {
         *  (proc_decl_noclass.proc_header as procedure_header).class_keyword = true;
         *  proc_decl_noclass.source_context = loc;
         *              return proc_decl_noclass;
         * }*/
        public case_variants NewCaseItem(syntax_tree_node case_item, LexLocation loc)
        {
            var nci = new case_variants();

            if (case_item is case_variant)
            {
                nci.Add((case_variant)case_item);
            }
            nci.source_context = loc;
            return(nci);
        }