public static void makeTryBlock(
            Token tryLoc,
            Container result,
            Container nestedExp,
            IList <IList <Token> > types,
            IList <Token> ids,
            IList <IList <Token> > catchblks,
            IList <Token> finallyblk
            )
        {
            if (catchblks.Count == 0 && finallyblk == null)
            {
                CSharpCCErrors.ParseError(tryLoc, "Try block must contain at least one catch or finally block.");
                return;
            }
            TryBlock tblk = new TryBlock();

            tblk.Line              = tryLoc.beginLine;
            tblk.Column            = tryLoc.beginColumn;
            tblk.Expansion         = (Expansion)(nestedExp.member);
            tblk.Expansion.Parent  = tblk;
            tblk.Expansion.Ordinal = 0;
            tblk.Types             = types;
            tblk.Ids           = ids;
            tblk.CatchBlocks   = catchblks;
            tblk.FinallyBlocks = finallyblk;
            result.member      = tblk;
        }
        public static void makeTryBlock(
			Token tryLoc,
			Container result,
			Container nestedExp,
			IList<IList<Token>> types,
			IList<Token> ids,
			IList<IList<Token>> catchblks,
			IList<Token> finallyblk
			)
        {
            if (catchblks.Count == 0 && finallyblk == null) {
                CSharpCCErrors.ParseError(tryLoc, "Try block must contain at least one catch or finally block.");
                return;
            }
            TryBlock tblk = new TryBlock();
            tblk.Line = tryLoc.beginLine;
            tblk.Column = tryLoc.beginColumn;
            tblk.Expansion = (Expansion) (nestedExp.member);
            tblk.Expansion.Parent = tblk;
            tblk.Expansion.Ordinal = 0;
            tblk.Types = types;
            tblk.Ids = ids;
            tblk.CatchBlocks = catchblks;
            tblk.FinallyBlocks = finallyblk;
            result.member = tblk;
        }