internal static void Load(this JavaTypeParameters tps, XmlReader reader)
        {
            reader.MoveToContent();
            if (reader.IsEmptyElement)
            {
                reader.Read();
            }
            else
            {
                reader.Read();
                do
                {
                    reader.MoveToContent();
                    if (reader.NodeType == XmlNodeType.EndElement)
                    {
                        break;                         // </typeParameters>
                    }
                    if (reader.NodeType != XmlNodeType.Element || reader.LocalName != "typeParameter")
                    {
                        throw XmlUtil.UnexpectedElementOrContent("typeParameters", reader, "typeParameter");
                    }
                    var tp = new JavaTypeParameter(tps);
                    tp.Load(reader);
                    tps.TypeParameters.Add(tp);
                } while (true);

                XmlUtil.VerifyEndElement(reader, "typeParameters");
                reader.Read();
            }
        }