// xml contains <args2> ... </args2>
        public MethodArgs(Chilkat.Xml xml)
        {
            m_xml = xml;
            if (xml == null)
            {
                return;
            }

            m_args = new ArrayList();

            int numArgs = xml.NumChildren;

            for (int i = 0; i < numArgs; i++)
            {
                xml.GetChild2(i);
                MethodArg arg = new MethodArg();
                arg.LoadArgXml(xml);
                m_args.Add(arg);
                xml.GetParent2();
            }
        }
        public void InsertArg(int insertIndex, string argName, string objcName, string genericType)
        {
            //<args2>
            //    <arg name="encodedBytes" type="string" objcName="encodedBytes" />
            //    <arg name="encoding" type="string" objcName="encoding" />
            //</args2>

            // Build the XML <arg> and insert it.
            Chilkat.Xml xArg = new Chilkat.Xml();
            xArg.Tag = "arg";

            xArg.AddAttribute("name", argName);
            xArg.AddAttribute("type", genericType);
            xArg.AddAttribute("objcName", objcName);

            m_xml.InsertChildTreeBefore(insertIndex, xArg);

            MethodArg arg = new MethodArg();

            arg.LoadArgXml(xArg);
            m_args.Insert(insertIndex, arg);

            return;
        }