| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277 | // Generated by the protocol buffer compiler.  DO NOT EDIT!// source: unittest_extras_xmltest.proto#pragma warning disable 1591, 0612, 3021#region Designer generated codeusing pb = global::Google.ProtocolBuffers;using pbc = global::Google.ProtocolBuffers.Collections;using pbd = global::Google.ProtocolBuffers.Descriptors;using scg = global::System.Collections.Generic;namespace Google.ProtocolBuffers.TestProtos {  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public static partial class UnittestExtrasXmltest {    #region Extension registration    public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {      registry.Add(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.ExtensionEnum);      registry.Add(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.ExtensionText);      registry.Add(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.ExtensionNumber);      registry.Add(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.ExtensionMessage);    }    #endregion    #region Extensions    public const int ExtensionEnumFieldNumber = 101;    public static pb::GeneratedExtensionBase<global::Google.ProtocolBuffers.TestProtos.EnumOptions> ExtensionEnum;    public const int ExtensionTextFieldNumber = 102;    public static pb::GeneratedExtensionBase<string> ExtensionText;    public const int ExtensionNumberFieldNumber = 103;    public static pb::GeneratedExtensionBase<scg::IList<int>> ExtensionNumber;    public const int ExtensionMessageFieldNumber = 199;    public static pb::GeneratedExtensionBase<global::Google.ProtocolBuffers.TestProtos.TestXmlExtension> ExtensionMessage;    #endregion    #region Static variables    internal static pbd::MessageDescriptor internal__static_protobuf_unittest_extra_TestXmlChild__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlChild, global::Google.ProtocolBuffers.TestProtos.TestXmlChild.Builder> internal__static_protobuf_unittest_extra_TestXmlChild__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_protobuf_unittest_extra_TestXmlNoFields__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlNoFields, global::Google.ProtocolBuffers.TestProtos.TestXmlNoFields.Builder> internal__static_protobuf_unittest_extra_TestXmlNoFields__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_protobuf_unittest_extra_TestXmlRescursive__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive, global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.Builder> internal__static_protobuf_unittest_extra_TestXmlRescursive__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_protobuf_unittest_extra_TestXmlMessage__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage, global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Builder> internal__static_protobuf_unittest_extra_TestXmlMessage__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_protobuf_unittest_extra_TestXmlMessage_Children__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children, global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.Builder> internal__static_protobuf_unittest_extra_TestXmlMessage_Children__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_protobuf_unittest_extra_TestXmlExtension__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlExtension, global::Google.ProtocolBuffers.TestProtos.TestXmlExtension.Builder> internal__static_protobuf_unittest_extra_TestXmlExtension__FieldAccessorTable;    #endregion    #region Descriptor    public static pbd::FileDescriptor Descriptor {      get { return descriptor; }    }    private static pbd::FileDescriptor descriptor;    static UnittestExtrasXmltest() {      byte[] descriptorData = global::System.Convert.FromBase64String(          string.Concat(            "Ch11bml0dGVzdF9leHRyYXNfeG1sdGVzdC5wcm90bxIXcHJvdG9idWZfdW5p",             "dHRlc3RfZXh0cmEiVQoMVGVzdFhtbENoaWxkEjUKB29wdGlvbnMYAyADKA4y",             "JC5wcm90b2J1Zl91bml0dGVzdF9leHRyYS5FbnVtT3B0aW9ucxIOCgZiaW5h",             "cnkYBCABKAwiEQoPVGVzdFhtbE5vRmllbGRzIk4KEVRlc3RYbWxSZXNjdXJz",             "aXZlEjkKBWNoaWxkGAEgASgLMioucHJvdG9idWZfdW5pdHRlc3RfZXh0cmEu",             "VGVzdFhtbFJlc2N1cnNpdmUitwIKDlRlc3RYbWxNZXNzYWdlEg4KBm51bWJl",             "chgGIAEoAxIPCgdudW1iZXJzGAIgAygFEgwKBHRleHQYAyABKAkSEgoJdGV4",             "dGxpbmVzGLwFIAMoCRINCgV2YWxpZBgFIAEoCBI0CgVjaGlsZBgBIAEoCzIl",             "LnByb3RvYnVmX3VuaXR0ZXN0X2V4dHJhLlRlc3RYbWxDaGlsZBJDCghjaGls",             "ZHJlbhiRAyADKAoyMC5wcm90b2J1Zl91bml0dGVzdF9leHRyYS5UZXN0WG1s",             "TWVzc2FnZS5DaGlsZHJlbhpRCghDaGlsZHJlbhI1CgdvcHRpb25zGAMgAygO",             "MiQucHJvdG9idWZfdW5pdHRlc3RfZXh0cmEuRW51bU9wdGlvbnMSDgoGYmlu",             "YXJ5GAQgASgMKgUIZBDIASIiChBUZXN0WG1sRXh0ZW5zaW9uEg4KBm51bWJl",             "chgBIAIoBSoqCgtFbnVtT3B0aW9ucxIHCgNPTkUQABIHCgNUV08QARIJCgVU",             "SFJFRRACOmUKDmV4dGVuc2lvbl9lbnVtEicucHJvdG9idWZfdW5pdHRlc3Rf",             "ZXh0cmEuVGVzdFhtbE1lc3NhZ2UYZSABKA4yJC5wcm90b2J1Zl91bml0dGVz",             "dF9leHRyYS5FbnVtT3B0aW9uczo/Cg5leHRlbnNpb25fdGV4dBInLnByb3Rv",             "YnVmX3VuaXR0ZXN0X2V4dHJhLlRlc3RYbWxNZXNzYWdlGGYgASgJOkUKEGV4",             "dGVuc2lvbl9udW1iZXISJy5wcm90b2J1Zl91bml0dGVzdF9leHRyYS5UZXN0",             "WG1sTWVzc2FnZRhnIAMoBUICEAE6bgoRZXh0ZW5zaW9uX21lc3NhZ2USJy5w",             "cm90b2J1Zl91bml0dGVzdF9leHRyYS5UZXN0WG1sTWVzc2FnZRjHASABKAsy",             "KS5wcm90b2J1Zl91bml0dGVzdF9leHRyYS5UZXN0WG1sRXh0ZW5zaW9uQiZI",           "AaoCIUdvb2dsZS5Qcm90b2NvbEJ1ZmZlcnMuVGVzdFByb3Rvcw=="));      pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {        descriptor = root;        internal__static_protobuf_unittest_extra_TestXmlChild__Descriptor = Descriptor.MessageTypes[0];        internal__static_protobuf_unittest_extra_TestXmlChild__FieldAccessorTable =             new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlChild, global::Google.ProtocolBuffers.TestProtos.TestXmlChild.Builder>(internal__static_protobuf_unittest_extra_TestXmlChild__Descriptor,                new string[] { "Options", "Binary", });        internal__static_protobuf_unittest_extra_TestXmlNoFields__Descriptor = Descriptor.MessageTypes[1];        internal__static_protobuf_unittest_extra_TestXmlNoFields__FieldAccessorTable =             new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlNoFields, global::Google.ProtocolBuffers.TestProtos.TestXmlNoFields.Builder>(internal__static_protobuf_unittest_extra_TestXmlNoFields__Descriptor,                new string[] { });        internal__static_protobuf_unittest_extra_TestXmlRescursive__Descriptor = Descriptor.MessageTypes[2];        internal__static_protobuf_unittest_extra_TestXmlRescursive__FieldAccessorTable =             new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive, global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.Builder>(internal__static_protobuf_unittest_extra_TestXmlRescursive__Descriptor,                new string[] { "Child", });        internal__static_protobuf_unittest_extra_TestXmlMessage__Descriptor = Descriptor.MessageTypes[3];        internal__static_protobuf_unittest_extra_TestXmlMessage__FieldAccessorTable =             new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage, global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Builder>(internal__static_protobuf_unittest_extra_TestXmlMessage__Descriptor,                new string[] { "Number", "Numbers", "Text", "Textlines", "Valid", "Child", "Children", });        internal__static_protobuf_unittest_extra_TestXmlMessage_Children__Descriptor = internal__static_protobuf_unittest_extra_TestXmlMessage__Descriptor.NestedTypes[0];        internal__static_protobuf_unittest_extra_TestXmlMessage_Children__FieldAccessorTable =             new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children, global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.Builder>(internal__static_protobuf_unittest_extra_TestXmlMessage_Children__Descriptor,                new string[] { "Options", "Binary", });        internal__static_protobuf_unittest_extra_TestXmlExtension__Descriptor = Descriptor.MessageTypes[4];        internal__static_protobuf_unittest_extra_TestXmlExtension__FieldAccessorTable =             new pb::FieldAccess.FieldAccessorTable<global::Google.ProtocolBuffers.TestProtos.TestXmlExtension, global::Google.ProtocolBuffers.TestProtos.TestXmlExtension.Builder>(internal__static_protobuf_unittest_extra_TestXmlExtension__Descriptor,                new string[] { "Number", });        global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.ExtensionEnum = pb::GeneratedSingleExtension<global::Google.ProtocolBuffers.TestProtos.EnumOptions>.CreateInstance(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor.Extensions[0]);        global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.ExtensionText = pb::GeneratedSingleExtension<string>.CreateInstance(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor.Extensions[1]);        global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.ExtensionNumber = pb::GeneratedRepeatExtension<int>.CreateInstance(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor.Extensions[2]);        global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.ExtensionMessage = pb::GeneratedSingleExtension<global::Google.ProtocolBuffers.TestProtos.TestXmlExtension>.CreateInstance(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor.Extensions[3]);        pb::ExtensionRegistry registry = pb::ExtensionRegistry.CreateInstance();        RegisterAllExtensions(registry);        return registry;      };      pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,          new pbd::FileDescriptor[] {          }, assigner);    }    #endregion  }  #region Enums  public enum EnumOptions {    ONE = 0,    TWO = 1,    THREE = 2,  }  #endregion  #region Messages  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestXmlChild : pb::GeneratedMessage<TestXmlChild, TestXmlChild.Builder> {    private TestXmlChild() { }    private static readonly TestXmlChild defaultInstance = new TestXmlChild().MakeReadOnly();    private static readonly string[] _testXmlChildFieldNames = new string[] { "binary", "options" };    private static readonly uint[] _testXmlChildFieldTags = new uint[] { 34, 24 };    public static TestXmlChild DefaultInstance {      get { return defaultInstance; }    }    public override TestXmlChild DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override TestXmlChild ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlChild__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<TestXmlChild, TestXmlChild.Builder> InternalFieldAccessors {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlChild__FieldAccessorTable; }    }    public const int OptionsFieldNumber = 3;    private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.EnumOptions> options_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.EnumOptions>();    public scg::IList<global::Google.ProtocolBuffers.TestProtos.EnumOptions> OptionsList {      get { return pbc::Lists.AsReadOnly(options_); }    }    public int OptionsCount {      get { return options_.Count; }    }    public global::Google.ProtocolBuffers.TestProtos.EnumOptions GetOptions(int index) {      return options_[index];    }    public const int BinaryFieldNumber = 4;    private bool hasBinary;    private pb::ByteString binary_ = pb::ByteString.Empty;    public bool HasBinary {      get { return hasBinary; }    }    public pb::ByteString Binary {      get { return binary_; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      CalcSerializedSize();      string[] field_names = _testXmlChildFieldNames;      if (options_.Count > 0) {        output.WriteEnumArray(3, field_names[1], options_);      }      if (hasBinary) {        output.WriteBytes(4, field_names[0], Binary);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        return CalcSerializedSize();      }    }    private int CalcSerializedSize() {      int size = memoizedSerializedSize;      if (size != -1) return size;      size = 0;      {        int dataSize = 0;        if (options_.Count > 0) {          foreach (global::Google.ProtocolBuffers.TestProtos.EnumOptions element in options_) {            dataSize += pb::CodedOutputStream.ComputeEnumSizeNoTag((int) element);          }          size += dataSize;          size += 1 * options_.Count;        }      }      if (hasBinary) {        size += pb::CodedOutputStream.ComputeBytesSize(4, Binary);      }      size += UnknownFields.SerializedSize;      memoizedSerializedSize = size;      return size;    }    public static TestXmlChild ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlChild ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlChild ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlChild ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlChild ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlChild ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static TestXmlChild ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static TestXmlChild ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static TestXmlChild ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlChild ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private TestXmlChild MakeReadOnly() {      options_.MakeReadOnly();      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(TestXmlChild prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<TestXmlChild, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(TestXmlChild cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private TestXmlChild result;      private TestXmlChild PrepareBuilder() {        if (resultIsReadOnly) {          TestXmlChild original = result;          result = new TestXmlChild();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override TestXmlChild MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlChild.Descriptor; }      }      public override TestXmlChild DefaultInstanceForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlChild.DefaultInstance; }      }      public override TestXmlChild BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is TestXmlChild) {          return MergeFrom((TestXmlChild) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(TestXmlChild other) {        if (other == global::Google.ProtocolBuffers.TestProtos.TestXmlChild.DefaultInstance) return this;        PrepareBuilder();        if (other.options_.Count != 0) {          result.options_.Add(other.options_);        }        if (other.HasBinary) {          Binary = other.Binary;        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_testXmlChildFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _testXmlChildFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 26:            case 24: {              scg::ICollection<object> unknownItems;              input.ReadEnumArray<global::Google.ProtocolBuffers.TestProtos.EnumOptions>(tag, field_name, result.options_, out unknownItems);              if (unknownItems != null) {                if (unknownFields == null) {                  unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);                }                foreach (object rawValue in unknownItems)                  if (rawValue is int)                    unknownFields.MergeVarintField(3, (ulong)(int)rawValue);              }              break;            }            case 34: {              result.hasBinary = input.ReadBytes(ref result.binary_);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.EnumOptions> OptionsList {        get { return PrepareBuilder().options_; }      }      public int OptionsCount {        get { return result.OptionsCount; }      }      public global::Google.ProtocolBuffers.TestProtos.EnumOptions GetOptions(int index) {        return result.GetOptions(index);      }      public Builder SetOptions(int index, global::Google.ProtocolBuffers.TestProtos.EnumOptions value) {        PrepareBuilder();        result.options_[index] = value;        return this;      }      public Builder AddOptions(global::Google.ProtocolBuffers.TestProtos.EnumOptions value) {        PrepareBuilder();        result.options_.Add(value);        return this;      }      public Builder AddRangeOptions(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.EnumOptions> values) {        PrepareBuilder();        result.options_.Add(values);        return this;      }      public Builder ClearOptions() {        PrepareBuilder();        result.options_.Clear();        return this;      }      public bool HasBinary {        get { return result.hasBinary; }      }      public pb::ByteString Binary {        get { return result.Binary; }        set { SetBinary(value); }      }      public Builder SetBinary(pb::ByteString value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasBinary = true;        result.binary_ = value;        return this;      }      public Builder ClearBinary() {        PrepareBuilder();        result.hasBinary = false;        result.binary_ = pb::ByteString.Empty;        return this;      }    }    static TestXmlChild() {      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestXmlNoFields : pb::GeneratedMessage<TestXmlNoFields, TestXmlNoFields.Builder> {    private TestXmlNoFields() { }    private static readonly TestXmlNoFields defaultInstance = new TestXmlNoFields().MakeReadOnly();    private static readonly string[] _testXmlNoFieldsFieldNames = new string[] {  };    private static readonly uint[] _testXmlNoFieldsFieldTags = new uint[] {  };    public static TestXmlNoFields DefaultInstance {      get { return defaultInstance; }    }    public override TestXmlNoFields DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override TestXmlNoFields ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlNoFields__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<TestXmlNoFields, TestXmlNoFields.Builder> InternalFieldAccessors {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlNoFields__FieldAccessorTable; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      CalcSerializedSize();      string[] field_names = _testXmlNoFieldsFieldNames;      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        return CalcSerializedSize();      }    }    private int CalcSerializedSize() {      int size = memoizedSerializedSize;      if (size != -1) return size;      size = 0;      size += UnknownFields.SerializedSize;      memoizedSerializedSize = size;      return size;    }    public static TestXmlNoFields ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlNoFields ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlNoFields ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlNoFields ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlNoFields ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlNoFields ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static TestXmlNoFields ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static TestXmlNoFields ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static TestXmlNoFields ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlNoFields ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private TestXmlNoFields MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(TestXmlNoFields prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<TestXmlNoFields, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(TestXmlNoFields cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private TestXmlNoFields result;      private TestXmlNoFields PrepareBuilder() {        if (resultIsReadOnly) {          TestXmlNoFields original = result;          result = new TestXmlNoFields();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override TestXmlNoFields MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlNoFields.Descriptor; }      }      public override TestXmlNoFields DefaultInstanceForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlNoFields.DefaultInstance; }      }      public override TestXmlNoFields BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is TestXmlNoFields) {          return MergeFrom((TestXmlNoFields) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(TestXmlNoFields other) {        if (other == global::Google.ProtocolBuffers.TestProtos.TestXmlNoFields.DefaultInstance) return this;        PrepareBuilder();        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_testXmlNoFieldsFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _testXmlNoFieldsFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }    }    static TestXmlNoFields() {      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestXmlRescursive : pb::GeneratedMessage<TestXmlRescursive, TestXmlRescursive.Builder> {    private TestXmlRescursive() { }    private static readonly TestXmlRescursive defaultInstance = new TestXmlRescursive().MakeReadOnly();    private static readonly string[] _testXmlRescursiveFieldNames = new string[] { "child" };    private static readonly uint[] _testXmlRescursiveFieldTags = new uint[] { 10 };    public static TestXmlRescursive DefaultInstance {      get { return defaultInstance; }    }    public override TestXmlRescursive DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override TestXmlRescursive ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlRescursive__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<TestXmlRescursive, TestXmlRescursive.Builder> InternalFieldAccessors {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlRescursive__FieldAccessorTable; }    }    public const int ChildFieldNumber = 1;    private bool hasChild;    private global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive child_;    public bool HasChild {      get { return hasChild; }    }    public global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive Child {      get { return child_ ?? global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.DefaultInstance; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      CalcSerializedSize();      string[] field_names = _testXmlRescursiveFieldNames;      if (hasChild) {        output.WriteMessage(1, field_names[0], Child);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        return CalcSerializedSize();      }    }    private int CalcSerializedSize() {      int size = memoizedSerializedSize;      if (size != -1) return size;      size = 0;      if (hasChild) {        size += pb::CodedOutputStream.ComputeMessageSize(1, Child);      }      size += UnknownFields.SerializedSize;      memoizedSerializedSize = size;      return size;    }    public static TestXmlRescursive ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlRescursive ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlRescursive ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlRescursive ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlRescursive ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlRescursive ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static TestXmlRescursive ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static TestXmlRescursive ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static TestXmlRescursive ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlRescursive ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private TestXmlRescursive MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(TestXmlRescursive prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<TestXmlRescursive, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(TestXmlRescursive cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private TestXmlRescursive result;      private TestXmlRescursive PrepareBuilder() {        if (resultIsReadOnly) {          TestXmlRescursive original = result;          result = new TestXmlRescursive();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override TestXmlRescursive MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.Descriptor; }      }      public override TestXmlRescursive DefaultInstanceForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.DefaultInstance; }      }      public override TestXmlRescursive BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is TestXmlRescursive) {          return MergeFrom((TestXmlRescursive) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(TestXmlRescursive other) {        if (other == global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.DefaultInstance) return this;        PrepareBuilder();        if (other.HasChild) {          MergeChild(other.Child);        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_testXmlRescursiveFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _testXmlRescursiveFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 10: {              global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.Builder subBuilder = global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.CreateBuilder();              if (result.hasChild) {                subBuilder.MergeFrom(Child);              }              input.ReadMessage(subBuilder, extensionRegistry);              Child = subBuilder.BuildPartial();              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasChild {       get { return result.hasChild; }      }      public global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive Child {        get { return result.Child; }        set { SetChild(value); }      }      public Builder SetChild(global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasChild = true;        result.child_ = value;        return this;      }      public Builder SetChild(global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.hasChild = true;        result.child_ = builderForValue.Build();        return this;      }      public Builder MergeChild(global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        if (result.hasChild &&            result.child_ != global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.DefaultInstance) {            result.child_ = global::Google.ProtocolBuffers.TestProtos.TestXmlRescursive.CreateBuilder(result.child_).MergeFrom(value).BuildPartial();        } else {          result.child_ = value;        }        result.hasChild = true;        return this;      }      public Builder ClearChild() {        PrepareBuilder();        result.hasChild = false;        result.child_ = null;        return this;      }    }    static TestXmlRescursive() {      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestXmlMessage : pb::ExtendableMessage<TestXmlMessage, TestXmlMessage.Builder> {    private TestXmlMessage() { }    private static readonly TestXmlMessage defaultInstance = new TestXmlMessage().MakeReadOnly();    private static readonly string[] _testXmlMessageFieldNames = new string[] { "child", "children", "number", "numbers", "text", "textlines", "valid" };    private static readonly uint[] _testXmlMessageFieldTags = new uint[] { 10, 3211, 48, 16, 26, 5602, 40 };    public static TestXmlMessage DefaultInstance {      get { return defaultInstance; }    }    public override TestXmlMessage DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override TestXmlMessage ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlMessage__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<TestXmlMessage, TestXmlMessage.Builder> InternalFieldAccessors {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlMessage__FieldAccessorTable; }    }    #region Nested types    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public static partial class Types {      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]      public sealed partial class Children : pb::GeneratedMessage<Children, Children.Builder> {        private Children() { }        private static readonly Children defaultInstance = new Children().MakeReadOnly();        private static readonly string[] _childrenFieldNames = new string[] { "binary", "options" };        private static readonly uint[] _childrenFieldTags = new uint[] { 34, 24 };        public static Children DefaultInstance {          get { return defaultInstance; }        }        public override Children DefaultInstanceForType {          get { return DefaultInstance; }        }        protected override Children ThisMessage {          get { return this; }        }        public static pbd::MessageDescriptor Descriptor {          get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlMessage_Children__Descriptor; }        }        protected override pb::FieldAccess.FieldAccessorTable<Children, Children.Builder> InternalFieldAccessors {          get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlMessage_Children__FieldAccessorTable; }        }        public const int OptionsFieldNumber = 3;        private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.EnumOptions> options_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.EnumOptions>();        public scg::IList<global::Google.ProtocolBuffers.TestProtos.EnumOptions> OptionsList {          get { return pbc::Lists.AsReadOnly(options_); }        }        public int OptionsCount {          get { return options_.Count; }        }        public global::Google.ProtocolBuffers.TestProtos.EnumOptions GetOptions(int index) {          return options_[index];        }        public const int BinaryFieldNumber = 4;        private bool hasBinary;        private pb::ByteString binary_ = pb::ByteString.Empty;        public bool HasBinary {          get { return hasBinary; }        }        public pb::ByteString Binary {          get { return binary_; }        }        public override bool IsInitialized {          get {            return true;          }        }        public override void WriteTo(pb::ICodedOutputStream output) {          CalcSerializedSize();          string[] field_names = _childrenFieldNames;          if (options_.Count > 0) {            output.WriteEnumArray(3, field_names[1], options_);          }          if (hasBinary) {            output.WriteBytes(4, field_names[0], Binary);          }          UnknownFields.WriteTo(output);        }        private int memoizedSerializedSize = -1;        public override int SerializedSize {          get {            int size = memoizedSerializedSize;            if (size != -1) return size;            return CalcSerializedSize();          }        }        private int CalcSerializedSize() {          int size = memoizedSerializedSize;          if (size != -1) return size;          size = 0;          {            int dataSize = 0;            if (options_.Count > 0) {              foreach (global::Google.ProtocolBuffers.TestProtos.EnumOptions element in options_) {                dataSize += pb::CodedOutputStream.ComputeEnumSizeNoTag((int) element);              }              size += dataSize;              size += 1 * options_.Count;            }          }          if (hasBinary) {            size += pb::CodedOutputStream.ComputeBytesSize(4, Binary);          }          size += UnknownFields.SerializedSize;          memoizedSerializedSize = size;          return size;        }        public static Children ParseFrom(pb::ByteString data) {          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();        }        public static Children ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();        }        public static Children ParseFrom(byte[] data) {          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();        }        public static Children ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();        }        public static Children ParseFrom(global::System.IO.Stream input) {          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();        }        public static Children ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();        }        public static Children ParseDelimitedFrom(global::System.IO.Stream input) {          return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();        }        public static Children ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {          return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();        }        public static Children ParseFrom(pb::ICodedInputStream input) {          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();        }        public static Children ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();        }        private Children MakeReadOnly() {          options_.MakeReadOnly();          return this;        }        public static Builder CreateBuilder() { return new Builder(); }        public override Builder ToBuilder() { return CreateBuilder(this); }        public override Builder CreateBuilderForType() { return new Builder(); }        public static Builder CreateBuilder(Children prototype) {          return new Builder(prototype);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]        public sealed partial class Builder : pb::GeneratedBuilder<Children, Builder> {          protected override Builder ThisBuilder {            get { return this; }          }          public Builder() {            result = DefaultInstance;            resultIsReadOnly = true;          }          internal Builder(Children cloneFrom) {            result = cloneFrom;            resultIsReadOnly = true;          }          private bool resultIsReadOnly;          private Children result;          private Children PrepareBuilder() {            if (resultIsReadOnly) {              Children original = result;              result = new Children();              resultIsReadOnly = false;              MergeFrom(original);            }            return result;          }          public override bool IsInitialized {            get { return result.IsInitialized; }          }          protected override Children MessageBeingBuilt {            get { return PrepareBuilder(); }          }          public override Builder Clear() {            result = DefaultInstance;            resultIsReadOnly = true;            return this;          }          public override Builder Clone() {            if (resultIsReadOnly) {              return new Builder(result);            } else {              return new Builder().MergeFrom(result);            }          }          public override pbd::MessageDescriptor DescriptorForType {            get { return global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.Descriptor; }          }          public override Children DefaultInstanceForType {            get { return global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.DefaultInstance; }          }          public override Children BuildPartial() {            if (resultIsReadOnly) {              return result;            }            resultIsReadOnly = true;            return result.MakeReadOnly();          }          public override Builder MergeFrom(pb::IMessage other) {            if (other is Children) {              return MergeFrom((Children) other);            } else {              base.MergeFrom(other);              return this;            }          }          public override Builder MergeFrom(Children other) {            if (other == global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.DefaultInstance) return this;            PrepareBuilder();            if (other.options_.Count != 0) {              result.options_.Add(other.options_);            }            if (other.HasBinary) {              Binary = other.Binary;            }            this.MergeUnknownFields(other.UnknownFields);            return this;          }          public override Builder MergeFrom(pb::ICodedInputStream input) {            return MergeFrom(input, pb::ExtensionRegistry.Empty);          }          public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {            PrepareBuilder();            pb::UnknownFieldSet.Builder unknownFields = null;            uint tag;            string field_name;            while (input.ReadTag(out tag, out field_name)) {              if(tag == 0 && field_name != null) {                int field_ordinal = global::System.Array.BinarySearch(_childrenFieldNames, field_name, global::System.StringComparer.Ordinal);                if(field_ordinal >= 0)                  tag = _childrenFieldTags[field_ordinal];                else {                  if (unknownFields == null) {                    unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);                  }                  ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);                  continue;                }              }              switch (tag) {                case 0: {                  throw pb::InvalidProtocolBufferException.InvalidTag();                }                default: {                  if (pb::WireFormat.IsEndGroupTag(tag)) {                    if (unknownFields != null) {                      this.UnknownFields = unknownFields.Build();                    }                    return this;                  }                  if (unknownFields == null) {                    unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);                  }                  ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);                  break;                }                case 26:                case 24: {                  scg::ICollection<object> unknownItems;                  input.ReadEnumArray<global::Google.ProtocolBuffers.TestProtos.EnumOptions>(tag, field_name, result.options_, out unknownItems);                  if (unknownItems != null) {                    if (unknownFields == null) {                      unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);                    }                    foreach (object rawValue in unknownItems)                      if (rawValue is int)                        unknownFields.MergeVarintField(3, (ulong)(int)rawValue);                  }                  break;                }                case 34: {                  result.hasBinary = input.ReadBytes(ref result.binary_);                  break;                }              }            }            if (unknownFields != null) {              this.UnknownFields = unknownFields.Build();            }            return this;          }          public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.EnumOptions> OptionsList {            get { return PrepareBuilder().options_; }          }          public int OptionsCount {            get { return result.OptionsCount; }          }          public global::Google.ProtocolBuffers.TestProtos.EnumOptions GetOptions(int index) {            return result.GetOptions(index);          }          public Builder SetOptions(int index, global::Google.ProtocolBuffers.TestProtos.EnumOptions value) {            PrepareBuilder();            result.options_[index] = value;            return this;          }          public Builder AddOptions(global::Google.ProtocolBuffers.TestProtos.EnumOptions value) {            PrepareBuilder();            result.options_.Add(value);            return this;          }          public Builder AddRangeOptions(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.EnumOptions> values) {            PrepareBuilder();            result.options_.Add(values);            return this;          }          public Builder ClearOptions() {            PrepareBuilder();            result.options_.Clear();            return this;          }          public bool HasBinary {            get { return result.hasBinary; }          }          public pb::ByteString Binary {            get { return result.Binary; }            set { SetBinary(value); }          }          public Builder SetBinary(pb::ByteString value) {            pb::ThrowHelper.ThrowIfNull(value, "value");            PrepareBuilder();            result.hasBinary = true;            result.binary_ = value;            return this;          }          public Builder ClearBinary() {            PrepareBuilder();            result.hasBinary = false;            result.binary_ = pb::ByteString.Empty;            return this;          }        }        static Children() {          object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor, null);        }      }    }    #endregion    public const int NumberFieldNumber = 6;    private bool hasNumber;    private long number_;    public bool HasNumber {      get { return hasNumber; }    }    public long Number {      get { return number_; }    }    public const int NumbersFieldNumber = 2;    private pbc::PopsicleList<int> numbers_ = new pbc::PopsicleList<int>();    public scg::IList<int> NumbersList {      get { return pbc::Lists.AsReadOnly(numbers_); }    }    public int NumbersCount {      get { return numbers_.Count; }    }    public int GetNumbers(int index) {      return numbers_[index];    }    public const int TextFieldNumber = 3;    private bool hasText;    private string text_ = "";    public bool HasText {      get { return hasText; }    }    public string Text {      get { return text_; }    }    public const int TextlinesFieldNumber = 700;    private pbc::PopsicleList<string> textlines_ = new pbc::PopsicleList<string>();    public scg::IList<string> TextlinesList {      get { return pbc::Lists.AsReadOnly(textlines_); }    }    public int TextlinesCount {      get { return textlines_.Count; }    }    public string GetTextlines(int index) {      return textlines_[index];    }    public const int ValidFieldNumber = 5;    private bool hasValid;    private bool valid_;    public bool HasValid {      get { return hasValid; }    }    public bool Valid {      get { return valid_; }    }    public const int ChildFieldNumber = 1;    private bool hasChild;    private global::Google.ProtocolBuffers.TestProtos.TestXmlChild child_;    public bool HasChild {      get { return hasChild; }    }    public global::Google.ProtocolBuffers.TestProtos.TestXmlChild Child {      get { return child_ ?? global::Google.ProtocolBuffers.TestProtos.TestXmlChild.DefaultInstance; }    }    public const int ChildrenFieldNumber = 401;    private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children> children_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children>();    public scg::IList<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children> ChildrenList {      get { return children_; }    }    public int ChildrenCount {      get { return children_.Count; }    }    public global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children GetChildren(int index) {      return children_[index];    }    public override bool IsInitialized {      get {        if (!ExtensionsAreInitialized) return false;        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      CalcSerializedSize();      string[] field_names = _testXmlMessageFieldNames;      pb::ExtendableMessage<TestXmlMessage, TestXmlMessage.Builder>.ExtensionWriter extensionWriter = CreateExtensionWriter(this);      if (hasChild) {        output.WriteMessage(1, field_names[0], Child);      }      if (numbers_.Count > 0) {        output.WriteInt32Array(2, field_names[3], numbers_);      }      if (hasText) {        output.WriteString(3, field_names[4], Text);      }      if (hasValid) {        output.WriteBool(5, field_names[6], Valid);      }      if (hasNumber) {        output.WriteInt64(6, field_names[2], Number);      }      extensionWriter.WriteUntil(200, output);      if (children_.Count > 0) {        output.WriteGroupArray(401, field_names[1], children_);      }      if (textlines_.Count > 0) {        output.WriteStringArray(700, field_names[5], textlines_);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        return CalcSerializedSize();      }    }    private int CalcSerializedSize() {      int size = memoizedSerializedSize;      if (size != -1) return size;      size = 0;      if (hasNumber) {        size += pb::CodedOutputStream.ComputeInt64Size(6, Number);      }      {        int dataSize = 0;        foreach (int element in NumbersList) {          dataSize += pb::CodedOutputStream.ComputeInt32SizeNoTag(element);        }        size += dataSize;        size += 1 * numbers_.Count;      }      if (hasText) {        size += pb::CodedOutputStream.ComputeStringSize(3, Text);      }      {        int dataSize = 0;        foreach (string element in TextlinesList) {          dataSize += pb::CodedOutputStream.ComputeStringSizeNoTag(element);        }        size += dataSize;        size += 2 * textlines_.Count;      }      if (hasValid) {        size += pb::CodedOutputStream.ComputeBoolSize(5, Valid);      }      if (hasChild) {        size += pb::CodedOutputStream.ComputeMessageSize(1, Child);      }      foreach (global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children element in ChildrenList) {        size += pb::CodedOutputStream.ComputeGroupSize(401, element);      }      size += ExtensionsSerializedSize;      size += UnknownFields.SerializedSize;      memoizedSerializedSize = size;      return size;    }    public static TestXmlMessage ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlMessage ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlMessage ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlMessage ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlMessage ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlMessage ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static TestXmlMessage ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static TestXmlMessage ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static TestXmlMessage ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlMessage ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private TestXmlMessage MakeReadOnly() {      numbers_.MakeReadOnly();      textlines_.MakeReadOnly();      children_.MakeReadOnly();      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(TestXmlMessage prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::ExtendableBuilder<TestXmlMessage, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(TestXmlMessage cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private TestXmlMessage result;      private TestXmlMessage PrepareBuilder() {        if (resultIsReadOnly) {          TestXmlMessage original = result;          result = new TestXmlMessage();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override TestXmlMessage MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Descriptor; }      }      public override TestXmlMessage DefaultInstanceForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.DefaultInstance; }      }      public override TestXmlMessage BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is TestXmlMessage) {          return MergeFrom((TestXmlMessage) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(TestXmlMessage other) {        if (other == global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.DefaultInstance) return this;        PrepareBuilder();        if (other.HasNumber) {          Number = other.Number;        }        if (other.numbers_.Count != 0) {          result.numbers_.Add(other.numbers_);        }        if (other.HasText) {          Text = other.Text;        }        if (other.textlines_.Count != 0) {          result.textlines_.Add(other.textlines_);        }        if (other.HasValid) {          Valid = other.Valid;        }        if (other.HasChild) {          MergeChild(other.Child);        }        if (other.children_.Count != 0) {          result.children_.Add(other.children_);        }          this.MergeExtensionFields(other);        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_testXmlMessageFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _testXmlMessageFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 10: {              global::Google.ProtocolBuffers.TestProtos.TestXmlChild.Builder subBuilder = global::Google.ProtocolBuffers.TestProtos.TestXmlChild.CreateBuilder();              if (result.hasChild) {                subBuilder.MergeFrom(Child);              }              input.ReadMessage(subBuilder, extensionRegistry);              Child = subBuilder.BuildPartial();              break;            }            case 18:            case 16: {              input.ReadInt32Array(tag, field_name, result.numbers_);              break;            }            case 26: {              result.hasText = input.ReadString(ref result.text_);              break;            }            case 40: {              result.hasValid = input.ReadBool(ref result.valid_);              break;            }            case 48: {              result.hasNumber = input.ReadInt64(ref result.number_);              break;            }            case 3211: {              input.ReadGroupArray(tag, field_name, result.children_, global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.DefaultInstance, extensionRegistry);              break;            }            case 5602: {              input.ReadStringArray(tag, field_name, result.textlines_);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasNumber {        get { return result.hasNumber; }      }      public long Number {        get { return result.Number; }        set { SetNumber(value); }      }      public Builder SetNumber(long value) {        PrepareBuilder();        result.hasNumber = true;        result.number_ = value;        return this;      }      public Builder ClearNumber() {        PrepareBuilder();        result.hasNumber = false;        result.number_ = 0L;        return this;      }      public pbc::IPopsicleList<int> NumbersList {        get { return PrepareBuilder().numbers_; }      }      public int NumbersCount {        get { return result.NumbersCount; }      }      public int GetNumbers(int index) {        return result.GetNumbers(index);      }      public Builder SetNumbers(int index, int value) {        PrepareBuilder();        result.numbers_[index] = value;        return this;      }      public Builder AddNumbers(int value) {        PrepareBuilder();        result.numbers_.Add(value);        return this;      }      public Builder AddRangeNumbers(scg::IEnumerable<int> values) {        PrepareBuilder();        result.numbers_.Add(values);        return this;      }      public Builder ClearNumbers() {        PrepareBuilder();        result.numbers_.Clear();        return this;      }      public bool HasText {        get { return result.hasText; }      }      public string Text {        get { return result.Text; }        set { SetText(value); }      }      public Builder SetText(string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasText = true;        result.text_ = value;        return this;      }      public Builder ClearText() {        PrepareBuilder();        result.hasText = false;        result.text_ = "";        return this;      }      public pbc::IPopsicleList<string> TextlinesList {        get { return PrepareBuilder().textlines_; }      }      public int TextlinesCount {        get { return result.TextlinesCount; }      }      public string GetTextlines(int index) {        return result.GetTextlines(index);      }      public Builder SetTextlines(int index, string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.textlines_[index] = value;        return this;      }      public Builder AddTextlines(string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.textlines_.Add(value);        return this;      }      public Builder AddRangeTextlines(scg::IEnumerable<string> values) {        PrepareBuilder();        result.textlines_.Add(values);        return this;      }      public Builder ClearTextlines() {        PrepareBuilder();        result.textlines_.Clear();        return this;      }      public bool HasValid {        get { return result.hasValid; }      }      public bool Valid {        get { return result.Valid; }        set { SetValid(value); }      }      public Builder SetValid(bool value) {        PrepareBuilder();        result.hasValid = true;        result.valid_ = value;        return this;      }      public Builder ClearValid() {        PrepareBuilder();        result.hasValid = false;        result.valid_ = false;        return this;      }      public bool HasChild {       get { return result.hasChild; }      }      public global::Google.ProtocolBuffers.TestProtos.TestXmlChild Child {        get { return result.Child; }        set { SetChild(value); }      }      public Builder SetChild(global::Google.ProtocolBuffers.TestProtos.TestXmlChild value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasChild = true;        result.child_ = value;        return this;      }      public Builder SetChild(global::Google.ProtocolBuffers.TestProtos.TestXmlChild.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.hasChild = true;        result.child_ = builderForValue.Build();        return this;      }      public Builder MergeChild(global::Google.ProtocolBuffers.TestProtos.TestXmlChild value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        if (result.hasChild &&            result.child_ != global::Google.ProtocolBuffers.TestProtos.TestXmlChild.DefaultInstance) {            result.child_ = global::Google.ProtocolBuffers.TestProtos.TestXmlChild.CreateBuilder(result.child_).MergeFrom(value).BuildPartial();        } else {          result.child_ = value;        }        result.hasChild = true;        return this;      }      public Builder ClearChild() {        PrepareBuilder();        result.hasChild = false;        result.child_ = null;        return this;      }      public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children> ChildrenList {        get { return PrepareBuilder().children_; }      }      public int ChildrenCount {        get { return result.ChildrenCount; }      }      public global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children GetChildren(int index) {        return result.GetChildren(index);      }      public Builder SetChildren(int index, global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.children_[index] = value;        return this;      }      public Builder SetChildren(int index, global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.children_[index] = builderForValue.Build();        return this;      }      public Builder AddChildren(global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.children_.Add(value);        return this;      }      public Builder AddChildren(global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.children_.Add(builderForValue.Build());        return this;      }      public Builder AddRangeChildren(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.TestXmlMessage.Types.Children> values) {        PrepareBuilder();        result.children_.Add(values);        return this;      }      public Builder ClearChildren() {        PrepareBuilder();        result.children_.Clear();        return this;      }    }    static TestXmlMessage() {      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class TestXmlExtension : pb::GeneratedMessage<TestXmlExtension, TestXmlExtension.Builder> {    private TestXmlExtension() { }    private static readonly TestXmlExtension defaultInstance = new TestXmlExtension().MakeReadOnly();    private static readonly string[] _testXmlExtensionFieldNames = new string[] { "number" };    private static readonly uint[] _testXmlExtensionFieldTags = new uint[] { 8 };    public static TestXmlExtension DefaultInstance {      get { return defaultInstance; }    }    public override TestXmlExtension DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override TestXmlExtension ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlExtension__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<TestXmlExtension, TestXmlExtension.Builder> InternalFieldAccessors {      get { return global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.internal__static_protobuf_unittest_extra_TestXmlExtension__FieldAccessorTable; }    }    public const int NumberFieldNumber = 1;    private bool hasNumber;    private int number_;    public bool HasNumber {      get { return hasNumber; }    }    public int Number {      get { return number_; }    }    public override bool IsInitialized {      get {        if (!hasNumber) return false;        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      CalcSerializedSize();      string[] field_names = _testXmlExtensionFieldNames;      if (hasNumber) {        output.WriteInt32(1, field_names[0], Number);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        return CalcSerializedSize();      }    }    private int CalcSerializedSize() {      int size = memoizedSerializedSize;      if (size != -1) return size;      size = 0;      if (hasNumber) {        size += pb::CodedOutputStream.ComputeInt32Size(1, Number);      }      size += UnknownFields.SerializedSize;      memoizedSerializedSize = size;      return size;    }    public static TestXmlExtension ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlExtension ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlExtension ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static TestXmlExtension ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static TestXmlExtension ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlExtension ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static TestXmlExtension ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static TestXmlExtension ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static TestXmlExtension ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static TestXmlExtension ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private TestXmlExtension MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(TestXmlExtension prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<TestXmlExtension, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(TestXmlExtension cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private TestXmlExtension result;      private TestXmlExtension PrepareBuilder() {        if (resultIsReadOnly) {          TestXmlExtension original = result;          result = new TestXmlExtension();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override TestXmlExtension MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlExtension.Descriptor; }      }      public override TestXmlExtension DefaultInstanceForType {        get { return global::Google.ProtocolBuffers.TestProtos.TestXmlExtension.DefaultInstance; }      }      public override TestXmlExtension BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is TestXmlExtension) {          return MergeFrom((TestXmlExtension) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(TestXmlExtension other) {        if (other == global::Google.ProtocolBuffers.TestProtos.TestXmlExtension.DefaultInstance) return this;        PrepareBuilder();        if (other.HasNumber) {          Number = other.Number;        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_testXmlExtensionFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _testXmlExtensionFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 8: {              result.hasNumber = input.ReadInt32(ref result.number_);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasNumber {        get { return result.hasNumber; }      }      public int Number {        get { return result.Number; }        set { SetNumber(value); }      }      public Builder SetNumber(int value) {        PrepareBuilder();        result.hasNumber = true;        result.number_ = value;        return this;      }      public Builder ClearNumber() {        PrepareBuilder();        result.hasNumber = false;        result.number_ = 0;        return this;      }    }    static TestXmlExtension() {      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnittestExtrasXmltest.Descriptor, null);    }  }  #endregion}#endregion Designer generated code
 |