| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273 | // <auto-generated>//     Generated by the protocol buffer compiler.  DO NOT EDIT!//     source: unittest_issues.proto// </auto-generated>#pragma warning disable 1591, 0612, 3021#region Designer generated codeusing pb = global::Google.Protobuf;using pbc = global::Google.Protobuf.Collections;using pbr = global::Google.Protobuf.Reflection;using scg = global::System.Collections.Generic;namespace UnitTest.Issues.TestProtos {  /// <summary>Holder for reflection information generated from unittest_issues.proto</summary>  public static partial class UnittestIssuesReflection {    #region Descriptor    /// <summary>File descriptor for unittest_issues.proto</summary>    public static pbr::FileDescriptor Descriptor {      get { return descriptor; }    }    private static pbr::FileDescriptor descriptor;    static UnittestIssuesReflection() {      byte[] descriptorData = global::System.Convert.FromBase64String(          string.Concat(            "ChV1bml0dGVzdF9pc3N1ZXMucHJvdG8SD3VuaXR0ZXN0X2lzc3VlcxocZ29v",            "Z2xlL3Byb3RvYnVmL3N0cnVjdC5wcm90byInCghJc3N1ZTMwNxobCgpOZXN0",            "ZWRPbmNlGg0KC05lc3RlZFR3aWNlIrABChNOZWdhdGl2ZUVudW1NZXNzYWdl",            "EiwKBXZhbHVlGAEgASgOMh0udW5pdHRlc3RfaXNzdWVzLk5lZ2F0aXZlRW51",            "bRIxCgZ2YWx1ZXMYAiADKA4yHS51bml0dGVzdF9pc3N1ZXMuTmVnYXRpdmVF",            "bnVtQgIQABI4Cg1wYWNrZWRfdmFsdWVzGAMgAygOMh0udW5pdHRlc3RfaXNz",            "dWVzLk5lZ2F0aXZlRW51bUICEAEiEQoPRGVwcmVjYXRlZENoaWxkIrkCChdE",            "ZXByZWNhdGVkRmllbGRzTWVzc2FnZRIaCg5QcmltaXRpdmVWYWx1ZRgBIAEo",            "BUICGAESGgoOUHJpbWl0aXZlQXJyYXkYAiADKAVCAhgBEjoKDE1lc3NhZ2VW",            "YWx1ZRgDIAEoCzIgLnVuaXR0ZXN0X2lzc3Vlcy5EZXByZWNhdGVkQ2hpbGRC",            "AhgBEjoKDE1lc3NhZ2VBcnJheRgEIAMoCzIgLnVuaXR0ZXN0X2lzc3Vlcy5E",            "ZXByZWNhdGVkQ2hpbGRCAhgBEjYKCUVudW1WYWx1ZRgFIAEoDjIfLnVuaXR0",            "ZXN0X2lzc3Vlcy5EZXByZWNhdGVkRW51bUICGAESNgoJRW51bUFycmF5GAYg",            "AygOMh8udW5pdHRlc3RfaXNzdWVzLkRlcHJlY2F0ZWRFbnVtQgIYASIZCglJ",            "dGVtRmllbGQSDAoEaXRlbRgBIAEoBSJECg1SZXNlcnZlZE5hbWVzEg0KBXR5",            "cGVzGAEgASgFEhIKCmRlc2NyaXB0b3IYAiABKAUaEAoOU29tZU5lc3RlZFR5",            "cGUioAEKFVRlc3RKc29uRmllbGRPcmRlcmluZxITCgtwbGFpbl9pbnQzMhgE",            "IAEoBRITCglvMV9zdHJpbmcYAiABKAlIABISCghvMV9pbnQzMhgFIAEoBUgA",            "EhQKDHBsYWluX3N0cmluZxgBIAEoCRISCghvMl9pbnQzMhgGIAEoBUgBEhMK",            "CW8yX3N0cmluZxgDIAEoCUgBQgQKAm8xQgQKAm8yIksKDFRlc3RKc29uTmFt",            "ZRIMCgRuYW1lGAEgASgJEhkKC2Rlc2NyaXB0aW9uGAIgASgJUgRkZXNjEhIK",            "BGd1aWQYAyABKAlSBGV4aWQifwoMT25lb2ZNZXJnaW5nEg4KBHRleHQYASAB",            "KAlIABI2CgZuZXN0ZWQYAiABKAsyJC51bml0dGVzdF9pc3N1ZXMuT25lb2ZN",            "ZXJnaW5nLk5lc3RlZEgAGh4KBk5lc3RlZBIJCgF4GAEgASgFEgkKAXkYAiAB",            "KAVCBwoFdmFsdWUiawoWTnVsbFZhbHVlT3V0c2lkZVN0cnVjdBIWCgxzdHJp",            "bmdfdmFsdWUYASABKAlIABIwCgpudWxsX3ZhbHVlGAIgASgOMhouZ29vZ2xl",            "LnByb3RvYnVmLk51bGxWYWx1ZUgAQgcKBXZhbHVlIkUKE051bGxWYWx1ZU5v",            "dEluT25lb2YSLgoKbnVsbF92YWx1ZRgCIAEoDjIaLmdvb2dsZS5wcm90b2J1",            "Zi5OdWxsVmFsdWUqVQoMTmVnYXRpdmVFbnVtEhYKEk5FR0FUSVZFX0VOVU1f",            "WkVSTxAAEhYKCUZpdmVCZWxvdxD7//////////8BEhUKCE1pbnVzT25lEP//",            "/////////wEqLgoORGVwcmVjYXRlZEVudW0SEwoPREVQUkVDQVRFRF9aRVJP",            "EAASBwoDb25lEAFCHaoCGlVuaXRUZXN0Lklzc3Vlcy5UZXN0UHJvdG9zYgZw",            "cm90bzM="));      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,          new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.StructReflection.Descriptor, },          new pbr::GeneratedClrTypeInfo(new[] {typeof(global::UnitTest.Issues.TestProtos.NegativeEnum), typeof(global::UnitTest.Issues.TestProtos.DeprecatedEnum), }, null, new pbr::GeneratedClrTypeInfo[] {            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Issue307), global::UnitTest.Issues.TestProtos.Issue307.Parser, null, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce), global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce.Parser, null, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce.Types.NestedTwice), global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce.Types.NestedTwice.Parser, null, null, null, null, null)})}),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NegativeEnumMessage), global::UnitTest.Issues.TestProtos.NegativeEnumMessage.Parser, new[]{ "Value", "Values", "PackedValues" }, null, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DeprecatedChild), global::UnitTest.Issues.TestProtos.DeprecatedChild.Parser, null, null, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.DeprecatedFieldsMessage), global::UnitTest.Issues.TestProtos.DeprecatedFieldsMessage.Parser, new[]{ "PrimitiveValue", "PrimitiveArray", "MessageValue", "MessageArray", "EnumValue", "EnumArray" }, null, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ItemField), global::UnitTest.Issues.TestProtos.ItemField.Parser, new[]{ "Item" }, null, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ReservedNames), global::UnitTest.Issues.TestProtos.ReservedNames.Parser, new[]{ "Types_", "Descriptor_" }, null, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.ReservedNames.Types.SomeNestedType), global::UnitTest.Issues.TestProtos.ReservedNames.Types.SomeNestedType.Parser, null, null, null, null, null)}),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.TestJsonFieldOrdering), global::UnitTest.Issues.TestProtos.TestJsonFieldOrdering.Parser, new[]{ "PlainInt32", "O1String", "O1Int32", "PlainString", "O2Int32", "O2String" }, new[]{ "O1", "O2" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.TestJsonName), global::UnitTest.Issues.TestProtos.TestJsonName.Parser, new[]{ "Name", "Description", "Guid" }, null, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.OneofMerging), global::UnitTest.Issues.TestProtos.OneofMerging.Parser, new[]{ "Text", "Nested" }, new[]{ "Value" }, null, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested), global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested.Parser, new[]{ "X", "Y" }, null, null, null, null)}),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NullValueOutsideStruct), global::UnitTest.Issues.TestProtos.NullValueOutsideStruct.Parser, new[]{ "StringValue", "NullValue" }, new[]{ "Value" }, null, null, null),            new pbr::GeneratedClrTypeInfo(typeof(global::UnitTest.Issues.TestProtos.NullValueNotInOneof), global::UnitTest.Issues.TestProtos.NullValueNotInOneof.Parser, new[]{ "NullValue" }, null, null, null, null)          }));    }    #endregion  }  #region Enums  public enum NegativeEnum {    [pbr::OriginalName("NEGATIVE_ENUM_ZERO")] Zero = 0,    [pbr::OriginalName("FiveBelow")] FiveBelow = -5,    [pbr::OriginalName("MinusOne")] MinusOne = -1,  }  public enum DeprecatedEnum {    [pbr::OriginalName("DEPRECATED_ZERO")] DeprecatedZero = 0,    [pbr::OriginalName("one")] One = 1,  }  #endregion  #region Messages  /// <summary>  /// Issue 307: when generating doubly-nested types, any references  /// should be of the form A.Types.B.Types.C.  /// </summary>  public sealed partial class Issue307 : pb::IMessage<Issue307>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<Issue307> _parser = new pb::MessageParser<Issue307>(() => new Issue307());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<Issue307> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[0]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public Issue307() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public Issue307(Issue307 other) : this() {      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public Issue307 Clone() {      return new Issue307(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as Issue307);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(Issue307 other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(Issue307 other) {      if (other == null) {        return;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;        }      }    }    #endif    #region Nested types    /// <summary>Container for nested types declared in the Issue307 message type.</summary>    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static partial class Types {      public sealed partial class NestedOnce : pb::IMessage<NestedOnce>      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          , pb::IBufferMessage      #endif      {        private static readonly pb::MessageParser<NestedOnce> _parser = new pb::MessageParser<NestedOnce>(() => new NestedOnce());        private pb::UnknownFieldSet _unknownFields;        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public static pb::MessageParser<NestedOnce> Parser { get { return _parser; } }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public static pbr::MessageDescriptor Descriptor {          get { return global::UnitTest.Issues.TestProtos.Issue307.Descriptor.NestedTypes[0]; }        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        pbr::MessageDescriptor pb::IMessage.Descriptor {          get { return Descriptor; }        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public NestedOnce() {          OnConstruction();        }        partial void OnConstruction();        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public NestedOnce(NestedOnce other) : this() {          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public NestedOnce Clone() {          return new NestedOnce(this);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override bool Equals(object other) {          return Equals(other as NestedOnce);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public bool Equals(NestedOnce other) {          if (ReferenceEquals(other, null)) {            return false;          }          if (ReferenceEquals(other, this)) {            return true;          }          return Equals(_unknownFields, other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override int GetHashCode() {          int hash = 1;          if (_unknownFields != null) {            hash ^= _unknownFields.GetHashCode();          }          return hash;        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override string ToString() {          return pb::JsonFormatter.ToDiagnosticString(this);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void WriteTo(pb::CodedOutputStream output) {        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          output.WriteRawMessage(this);        #else          if (_unknownFields != null) {            _unknownFields.WriteTo(output);          }        #endif        }        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {          if (_unknownFields != null) {            _unknownFields.WriteTo(ref output);          }        }        #endif        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public int CalculateSize() {          int size = 0;          if (_unknownFields != null) {            size += _unknownFields.CalculateSize();          }          return size;        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void MergeFrom(NestedOnce other) {          if (other == null) {            return;          }          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void MergeFrom(pb::CodedInputStream input) {        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          input.ReadRawMessage(this);        #else          uint tag;          while ((tag = input.ReadTag()) != 0) {            switch(tag) {              default:                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);                break;            }          }        #endif        }        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {          uint tag;          while ((tag = input.ReadTag()) != 0) {            switch(tag) {              default:                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);                break;            }          }        }        #endif        #region Nested types        /// <summary>Container for nested types declared in the NestedOnce message type.</summary>        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public static partial class Types {          public sealed partial class NestedTwice : pb::IMessage<NestedTwice>          #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE              , pb::IBufferMessage          #endif          {            private static readonly pb::MessageParser<NestedTwice> _parser = new pb::MessageParser<NestedTwice>(() => new NestedTwice());            private pb::UnknownFieldSet _unknownFields;            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public static pb::MessageParser<NestedTwice> Parser { get { return _parser; } }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public static pbr::MessageDescriptor Descriptor {              get { return global::UnitTest.Issues.TestProtos.Issue307.Types.NestedOnce.Descriptor.NestedTypes[0]; }            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            pbr::MessageDescriptor pb::IMessage.Descriptor {              get { return Descriptor; }            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public NestedTwice() {              OnConstruction();            }            partial void OnConstruction();            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public NestedTwice(NestedTwice other) : this() {              _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public NestedTwice Clone() {              return new NestedTwice(this);            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public override bool Equals(object other) {              return Equals(other as NestedTwice);            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public bool Equals(NestedTwice other) {              if (ReferenceEquals(other, null)) {                return false;              }              if (ReferenceEquals(other, this)) {                return true;              }              return Equals(_unknownFields, other._unknownFields);            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public override int GetHashCode() {              int hash = 1;              if (_unknownFields != null) {                hash ^= _unknownFields.GetHashCode();              }              return hash;            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public override string ToString() {              return pb::JsonFormatter.ToDiagnosticString(this);            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public void WriteTo(pb::CodedOutputStream output) {            #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE              output.WriteRawMessage(this);            #else              if (_unknownFields != null) {                _unknownFields.WriteTo(output);              }            #endif            }            #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {              if (_unknownFields != null) {                _unknownFields.WriteTo(ref output);              }            }            #endif            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public int CalculateSize() {              int size = 0;              if (_unknownFields != null) {                size += _unknownFields.CalculateSize();              }              return size;            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public void MergeFrom(NestedTwice other) {              if (other == null) {                return;              }              _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);            }            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            public void MergeFrom(pb::CodedInputStream input) {            #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE              input.ReadRawMessage(this);            #else              uint tag;              while ((tag = input.ReadTag()) != 0) {                switch(tag) {                  default:                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);                    break;                }              }            #endif            }            #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE            [global::System.Diagnostics.DebuggerNonUserCodeAttribute]            void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {              uint tag;              while ((tag = input.ReadTag()) != 0) {                switch(tag) {                  default:                    _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);                    break;                }              }            }            #endif          }        }        #endregion      }    }    #endregion  }  public sealed partial class NegativeEnumMessage : pb::IMessage<NegativeEnumMessage>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<NegativeEnumMessage> _parser = new pb::MessageParser<NegativeEnumMessage>(() => new NegativeEnumMessage());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<NegativeEnumMessage> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[1]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NegativeEnumMessage() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NegativeEnumMessage(NegativeEnumMessage other) : this() {      value_ = other.value_;      values_ = other.values_.Clone();      packedValues_ = other.packedValues_.Clone();      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NegativeEnumMessage Clone() {      return new NegativeEnumMessage(this);    }    /// <summary>Field number for the "value" field.</summary>    public const int ValueFieldNumber = 1;    private global::UnitTest.Issues.TestProtos.NegativeEnum value_ = global::UnitTest.Issues.TestProtos.NegativeEnum.Zero;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public global::UnitTest.Issues.TestProtos.NegativeEnum Value {      get { return value_; }      set {        value_ = value;      }    }    /// <summary>Field number for the "values" field.</summary>    public const int ValuesFieldNumber = 2;    private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.NegativeEnum> _repeated_values_codec        = pb::FieldCodec.ForEnum(16, x => (int) x, x => (global::UnitTest.Issues.TestProtos.NegativeEnum) x);    private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum> values_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum>();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum> Values {      get { return values_; }    }    /// <summary>Field number for the "packed_values" field.</summary>    public const int PackedValuesFieldNumber = 3;    private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.NegativeEnum> _repeated_packedValues_codec        = pb::FieldCodec.ForEnum(26, x => (int) x, x => (global::UnitTest.Issues.TestProtos.NegativeEnum) x);    private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum> packedValues_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum>();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.NegativeEnum> PackedValues {      get { return packedValues_; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as NegativeEnumMessage);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(NegativeEnumMessage other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Value != other.Value) return false;      if(!values_.Equals(other.values_)) return false;      if(!packedValues_.Equals(other.packedValues_)) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) hash ^= Value.GetHashCode();      hash ^= values_.GetHashCode();      hash ^= packedValues_.GetHashCode();      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) {        output.WriteRawTag(8);        output.WriteEnum((int) Value);      }      values_.WriteTo(output, _repeated_values_codec);      packedValues_.WriteTo(output, _repeated_packedValues_codec);      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) {        output.WriteRawTag(8);        output.WriteEnum((int) Value);      }      values_.WriteTo(ref output, _repeated_values_codec);      packedValues_.WriteTo(ref output, _repeated_packedValues_codec);      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Value);      }      size += values_.CalculateSize(_repeated_values_codec);      size += packedValues_.CalculateSize(_repeated_packedValues_codec);      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(NegativeEnumMessage other) {      if (other == null) {        return;      }      if (other.Value != global::UnitTest.Issues.TestProtos.NegativeEnum.Zero) {        Value = other.Value;      }      values_.Add(other.values_);      packedValues_.Add(other.packedValues_);      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 8: {            Value = (global::UnitTest.Issues.TestProtos.NegativeEnum) input.ReadEnum();            break;          }          case 18:          case 16: {            values_.AddEntriesFrom(input, _repeated_values_codec);            break;          }          case 26:          case 24: {            packedValues_.AddEntriesFrom(input, _repeated_packedValues_codec);            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 8: {            Value = (global::UnitTest.Issues.TestProtos.NegativeEnum) input.ReadEnum();            break;          }          case 18:          case 16: {            values_.AddEntriesFrom(ref input, _repeated_values_codec);            break;          }          case 26:          case 24: {            packedValues_.AddEntriesFrom(ref input, _repeated_packedValues_codec);            break;          }        }      }    }    #endif  }  public sealed partial class DeprecatedChild : pb::IMessage<DeprecatedChild>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<DeprecatedChild> _parser = new pb::MessageParser<DeprecatedChild>(() => new DeprecatedChild());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<DeprecatedChild> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[2]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public DeprecatedChild() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public DeprecatedChild(DeprecatedChild other) : this() {      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public DeprecatedChild Clone() {      return new DeprecatedChild(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as DeprecatedChild);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(DeprecatedChild other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(DeprecatedChild other) {      if (other == null) {        return;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;        }      }    }    #endif  }  public sealed partial class DeprecatedFieldsMessage : pb::IMessage<DeprecatedFieldsMessage>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<DeprecatedFieldsMessage> _parser = new pb::MessageParser<DeprecatedFieldsMessage>(() => new DeprecatedFieldsMessage());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<DeprecatedFieldsMessage> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[3]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public DeprecatedFieldsMessage() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public DeprecatedFieldsMessage(DeprecatedFieldsMessage other) : this() {      primitiveValue_ = other.primitiveValue_;      primitiveArray_ = other.primitiveArray_.Clone();      messageValue_ = other.messageValue_ != null ? other.messageValue_.Clone() : null;      messageArray_ = other.messageArray_.Clone();      enumValue_ = other.enumValue_;      enumArray_ = other.enumArray_.Clone();      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public DeprecatedFieldsMessage Clone() {      return new DeprecatedFieldsMessage(this);    }    /// <summary>Field number for the "PrimitiveValue" field.</summary>    public const int PrimitiveValueFieldNumber = 1;    private int primitiveValue_;    [global::System.ObsoleteAttribute]    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int PrimitiveValue {      get { return primitiveValue_; }      set {        primitiveValue_ = value;      }    }    /// <summary>Field number for the "PrimitiveArray" field.</summary>    public const int PrimitiveArrayFieldNumber = 2;    private static readonly pb::FieldCodec<int> _repeated_primitiveArray_codec        = pb::FieldCodec.ForInt32(18);    private readonly pbc::RepeatedField<int> primitiveArray_ = new pbc::RepeatedField<int>();    [global::System.ObsoleteAttribute]    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public pbc::RepeatedField<int> PrimitiveArray {      get { return primitiveArray_; }    }    /// <summary>Field number for the "MessageValue" field.</summary>    public const int MessageValueFieldNumber = 3;    private global::UnitTest.Issues.TestProtos.DeprecatedChild messageValue_;    [global::System.ObsoleteAttribute]    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public global::UnitTest.Issues.TestProtos.DeprecatedChild MessageValue {      get { return messageValue_; }      set {        messageValue_ = value;      }    }    /// <summary>Field number for the "MessageArray" field.</summary>    public const int MessageArrayFieldNumber = 4;    private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.DeprecatedChild> _repeated_messageArray_codec        = pb::FieldCodec.ForMessage(34, global::UnitTest.Issues.TestProtos.DeprecatedChild.Parser);    private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedChild> messageArray_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedChild>();    [global::System.ObsoleteAttribute]    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedChild> MessageArray {      get { return messageArray_; }    }    /// <summary>Field number for the "EnumValue" field.</summary>    public const int EnumValueFieldNumber = 5;    private global::UnitTest.Issues.TestProtos.DeprecatedEnum enumValue_ = global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero;    [global::System.ObsoleteAttribute]    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public global::UnitTest.Issues.TestProtos.DeprecatedEnum EnumValue {      get { return enumValue_; }      set {        enumValue_ = value;      }    }    /// <summary>Field number for the "EnumArray" field.</summary>    public const int EnumArrayFieldNumber = 6;    private static readonly pb::FieldCodec<global::UnitTest.Issues.TestProtos.DeprecatedEnum> _repeated_enumArray_codec        = pb::FieldCodec.ForEnum(50, x => (int) x, x => (global::UnitTest.Issues.TestProtos.DeprecatedEnum) x);    private readonly pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedEnum> enumArray_ = new pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedEnum>();    [global::System.ObsoleteAttribute]    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public pbc::RepeatedField<global::UnitTest.Issues.TestProtos.DeprecatedEnum> EnumArray {      get { return enumArray_; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as DeprecatedFieldsMessage);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(DeprecatedFieldsMessage other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (PrimitiveValue != other.PrimitiveValue) return false;      if(!primitiveArray_.Equals(other.primitiveArray_)) return false;      if (!object.Equals(MessageValue, other.MessageValue)) return false;      if(!messageArray_.Equals(other.messageArray_)) return false;      if (EnumValue != other.EnumValue) return false;      if(!enumArray_.Equals(other.enumArray_)) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (PrimitiveValue != 0) hash ^= PrimitiveValue.GetHashCode();      hash ^= primitiveArray_.GetHashCode();      if (messageValue_ != null) hash ^= MessageValue.GetHashCode();      hash ^= messageArray_.GetHashCode();      if (EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) hash ^= EnumValue.GetHashCode();      hash ^= enumArray_.GetHashCode();      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (PrimitiveValue != 0) {        output.WriteRawTag(8);        output.WriteInt32(PrimitiveValue);      }      primitiveArray_.WriteTo(output, _repeated_primitiveArray_codec);      if (messageValue_ != null) {        output.WriteRawTag(26);        output.WriteMessage(MessageValue);      }      messageArray_.WriteTo(output, _repeated_messageArray_codec);      if (EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) {        output.WriteRawTag(40);        output.WriteEnum((int) EnumValue);      }      enumArray_.WriteTo(output, _repeated_enumArray_codec);      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (PrimitiveValue != 0) {        output.WriteRawTag(8);        output.WriteInt32(PrimitiveValue);      }      primitiveArray_.WriteTo(ref output, _repeated_primitiveArray_codec);      if (messageValue_ != null) {        output.WriteRawTag(26);        output.WriteMessage(MessageValue);      }      messageArray_.WriteTo(ref output, _repeated_messageArray_codec);      if (EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) {        output.WriteRawTag(40);        output.WriteEnum((int) EnumValue);      }      enumArray_.WriteTo(ref output, _repeated_enumArray_codec);      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (PrimitiveValue != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PrimitiveValue);      }      size += primitiveArray_.CalculateSize(_repeated_primitiveArray_codec);      if (messageValue_ != null) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(MessageValue);      }      size += messageArray_.CalculateSize(_repeated_messageArray_codec);      if (EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) EnumValue);      }      size += enumArray_.CalculateSize(_repeated_enumArray_codec);      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(DeprecatedFieldsMessage other) {      if (other == null) {        return;      }      if (other.PrimitiveValue != 0) {        PrimitiveValue = other.PrimitiveValue;      }      primitiveArray_.Add(other.primitiveArray_);      if (other.messageValue_ != null) {        if (messageValue_ == null) {          MessageValue = new global::UnitTest.Issues.TestProtos.DeprecatedChild();        }        MessageValue.MergeFrom(other.MessageValue);      }      messageArray_.Add(other.messageArray_);      if (other.EnumValue != global::UnitTest.Issues.TestProtos.DeprecatedEnum.DeprecatedZero) {        EnumValue = other.EnumValue;      }      enumArray_.Add(other.enumArray_);      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 8: {            PrimitiveValue = input.ReadInt32();            break;          }          case 18:          case 16: {            primitiveArray_.AddEntriesFrom(input, _repeated_primitiveArray_codec);            break;          }          case 26: {            if (messageValue_ == null) {              MessageValue = new global::UnitTest.Issues.TestProtos.DeprecatedChild();            }            input.ReadMessage(MessageValue);            break;          }          case 34: {            messageArray_.AddEntriesFrom(input, _repeated_messageArray_codec);            break;          }          case 40: {            EnumValue = (global::UnitTest.Issues.TestProtos.DeprecatedEnum) input.ReadEnum();            break;          }          case 50:          case 48: {            enumArray_.AddEntriesFrom(input, _repeated_enumArray_codec);            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 8: {            PrimitiveValue = input.ReadInt32();            break;          }          case 18:          case 16: {            primitiveArray_.AddEntriesFrom(ref input, _repeated_primitiveArray_codec);            break;          }          case 26: {            if (messageValue_ == null) {              MessageValue = new global::UnitTest.Issues.TestProtos.DeprecatedChild();            }            input.ReadMessage(MessageValue);            break;          }          case 34: {            messageArray_.AddEntriesFrom(ref input, _repeated_messageArray_codec);            break;          }          case 40: {            EnumValue = (global::UnitTest.Issues.TestProtos.DeprecatedEnum) input.ReadEnum();            break;          }          case 50:          case 48: {            enumArray_.AddEntriesFrom(ref input, _repeated_enumArray_codec);            break;          }        }      }    }    #endif  }  /// <summary>  /// Issue 45: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=45  /// </summary>  public sealed partial class ItemField : pb::IMessage<ItemField>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<ItemField> _parser = new pb::MessageParser<ItemField>(() => new ItemField());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<ItemField> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[4]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public ItemField() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public ItemField(ItemField other) : this() {      item_ = other.item_;      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public ItemField Clone() {      return new ItemField(this);    }    /// <summary>Field number for the "item" field.</summary>    public const int ItemFieldNumber = 1;    private int item_;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int Item {      get { return item_; }      set {        item_ = value;      }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as ItemField);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(ItemField other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Item != other.Item) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (Item != 0) hash ^= Item.GetHashCode();      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (Item != 0) {        output.WriteRawTag(8);        output.WriteInt32(Item);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (Item != 0) {        output.WriteRawTag(8);        output.WriteInt32(Item);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (Item != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Item);      }      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(ItemField other) {      if (other == null) {        return;      }      if (other.Item != 0) {        Item = other.Item;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 8: {            Item = input.ReadInt32();            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 8: {            Item = input.ReadInt32();            break;          }        }      }    }    #endif  }  public sealed partial class ReservedNames : pb::IMessage<ReservedNames>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<ReservedNames> _parser = new pb::MessageParser<ReservedNames>(() => new ReservedNames());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<ReservedNames> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[5]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public ReservedNames() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public ReservedNames(ReservedNames other) : this() {      types_ = other.types_;      descriptor_ = other.descriptor_;      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public ReservedNames Clone() {      return new ReservedNames(this);    }    /// <summary>Field number for the "types" field.</summary>    public const int Types_FieldNumber = 1;    private int types_;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int Types_ {      get { return types_; }      set {        types_ = value;      }    }    /// <summary>Field number for the "descriptor" field.</summary>    public const int Descriptor_FieldNumber = 2;    private int descriptor_;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int Descriptor_ {      get { return descriptor_; }      set {        descriptor_ = value;      }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as ReservedNames);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(ReservedNames other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Types_ != other.Types_) return false;      if (Descriptor_ != other.Descriptor_) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (Types_ != 0) hash ^= Types_.GetHashCode();      if (Descriptor_ != 0) hash ^= Descriptor_.GetHashCode();      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (Types_ != 0) {        output.WriteRawTag(8);        output.WriteInt32(Types_);      }      if (Descriptor_ != 0) {        output.WriteRawTag(16);        output.WriteInt32(Descriptor_);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (Types_ != 0) {        output.WriteRawTag(8);        output.WriteInt32(Types_);      }      if (Descriptor_ != 0) {        output.WriteRawTag(16);        output.WriteInt32(Descriptor_);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (Types_ != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Types_);      }      if (Descriptor_ != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Descriptor_);      }      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(ReservedNames other) {      if (other == null) {        return;      }      if (other.Types_ != 0) {        Types_ = other.Types_;      }      if (other.Descriptor_ != 0) {        Descriptor_ = other.Descriptor_;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 8: {            Types_ = input.ReadInt32();            break;          }          case 16: {            Descriptor_ = input.ReadInt32();            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 8: {            Types_ = input.ReadInt32();            break;          }          case 16: {            Descriptor_ = input.ReadInt32();            break;          }        }      }    }    #endif    #region Nested types    /// <summary>Container for nested types declared in the ReservedNames message type.</summary>    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static partial class Types {      /// <summary>      /// Force a nested type called Types      /// </summary>      public sealed partial class SomeNestedType : pb::IMessage<SomeNestedType>      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          , pb::IBufferMessage      #endif      {        private static readonly pb::MessageParser<SomeNestedType> _parser = new pb::MessageParser<SomeNestedType>(() => new SomeNestedType());        private pb::UnknownFieldSet _unknownFields;        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public static pb::MessageParser<SomeNestedType> Parser { get { return _parser; } }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public static pbr::MessageDescriptor Descriptor {          get { return global::UnitTest.Issues.TestProtos.ReservedNames.Descriptor.NestedTypes[0]; }        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        pbr::MessageDescriptor pb::IMessage.Descriptor {          get { return Descriptor; }        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public SomeNestedType() {          OnConstruction();        }        partial void OnConstruction();        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public SomeNestedType(SomeNestedType other) : this() {          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public SomeNestedType Clone() {          return new SomeNestedType(this);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override bool Equals(object other) {          return Equals(other as SomeNestedType);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public bool Equals(SomeNestedType other) {          if (ReferenceEquals(other, null)) {            return false;          }          if (ReferenceEquals(other, this)) {            return true;          }          return Equals(_unknownFields, other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override int GetHashCode() {          int hash = 1;          if (_unknownFields != null) {            hash ^= _unknownFields.GetHashCode();          }          return hash;        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override string ToString() {          return pb::JsonFormatter.ToDiagnosticString(this);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void WriteTo(pb::CodedOutputStream output) {        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          output.WriteRawMessage(this);        #else          if (_unknownFields != null) {            _unknownFields.WriteTo(output);          }        #endif        }        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {          if (_unknownFields != null) {            _unknownFields.WriteTo(ref output);          }        }        #endif        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public int CalculateSize() {          int size = 0;          if (_unknownFields != null) {            size += _unknownFields.CalculateSize();          }          return size;        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void MergeFrom(SomeNestedType other) {          if (other == null) {            return;          }          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void MergeFrom(pb::CodedInputStream input) {        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          input.ReadRawMessage(this);        #else          uint tag;          while ((tag = input.ReadTag()) != 0) {            switch(tag) {              default:                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);                break;            }          }        #endif        }        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {          uint tag;          while ((tag = input.ReadTag()) != 0) {            switch(tag) {              default:                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);                break;            }          }        }        #endif      }    }    #endregion  }  /// <summary>  /// These fields are deliberately not declared in numeric  /// order, and the oneof fields aren't contiguous either.  /// This allows for reasonably robust tests of JSON output  /// ordering.  /// TestFieldOrderings in unittest_proto3.proto is similar,  /// but doesn't include oneofs.  /// TODO: Consider adding oneofs to TestFieldOrderings, although  /// that will require fixing other tests in multiple platforms.  /// Alternatively, consider just adding this to  /// unittest_proto3.proto if multiple platforms want it.  /// </summary>  public sealed partial class TestJsonFieldOrdering : pb::IMessage<TestJsonFieldOrdering>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<TestJsonFieldOrdering> _parser = new pb::MessageParser<TestJsonFieldOrdering>(() => new TestJsonFieldOrdering());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<TestJsonFieldOrdering> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[6]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public TestJsonFieldOrdering() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public TestJsonFieldOrdering(TestJsonFieldOrdering other) : this() {      plainInt32_ = other.plainInt32_;      plainString_ = other.plainString_;      switch (other.O1Case) {        case O1OneofCase.O1String:          O1String = other.O1String;          break;        case O1OneofCase.O1Int32:          O1Int32 = other.O1Int32;          break;      }      switch (other.O2Case) {        case O2OneofCase.O2Int32:          O2Int32 = other.O2Int32;          break;        case O2OneofCase.O2String:          O2String = other.O2String;          break;      }      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public TestJsonFieldOrdering Clone() {      return new TestJsonFieldOrdering(this);    }    /// <summary>Field number for the "plain_int32" field.</summary>    public const int PlainInt32FieldNumber = 4;    private int plainInt32_;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int PlainInt32 {      get { return plainInt32_; }      set {        plainInt32_ = value;      }    }    /// <summary>Field number for the "o1_string" field.</summary>    public const int O1StringFieldNumber = 2;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public string O1String {      get { return o1Case_ == O1OneofCase.O1String ? (string) o1_ : ""; }      set {        o1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");        o1Case_ = O1OneofCase.O1String;      }    }    /// <summary>Field number for the "o1_int32" field.</summary>    public const int O1Int32FieldNumber = 5;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int O1Int32 {      get { return o1Case_ == O1OneofCase.O1Int32 ? (int) o1_ : 0; }      set {        o1_ = value;        o1Case_ = O1OneofCase.O1Int32;      }    }    /// <summary>Field number for the "plain_string" field.</summary>    public const int PlainStringFieldNumber = 1;    private string plainString_ = "";    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public string PlainString {      get { return plainString_; }      set {        plainString_ = pb::ProtoPreconditions.CheckNotNull(value, "value");      }    }    /// <summary>Field number for the "o2_int32" field.</summary>    public const int O2Int32FieldNumber = 6;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int O2Int32 {      get { return o2Case_ == O2OneofCase.O2Int32 ? (int) o2_ : 0; }      set {        o2_ = value;        o2Case_ = O2OneofCase.O2Int32;      }    }    /// <summary>Field number for the "o2_string" field.</summary>    public const int O2StringFieldNumber = 3;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public string O2String {      get { return o2Case_ == O2OneofCase.O2String ? (string) o2_ : ""; }      set {        o2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");        o2Case_ = O2OneofCase.O2String;      }    }    private object o1_;    /// <summary>Enum of possible cases for the "o1" oneof.</summary>    public enum O1OneofCase {      None = 0,      O1String = 2,      O1Int32 = 5,    }    private O1OneofCase o1Case_ = O1OneofCase.None;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public O1OneofCase O1Case {      get { return o1Case_; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void ClearO1() {      o1Case_ = O1OneofCase.None;      o1_ = null;    }    private object o2_;    /// <summary>Enum of possible cases for the "o2" oneof.</summary>    public enum O2OneofCase {      None = 0,      O2Int32 = 6,      O2String = 3,    }    private O2OneofCase o2Case_ = O2OneofCase.None;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public O2OneofCase O2Case {      get { return o2Case_; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void ClearO2() {      o2Case_ = O2OneofCase.None;      o2_ = null;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as TestJsonFieldOrdering);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(TestJsonFieldOrdering other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (PlainInt32 != other.PlainInt32) return false;      if (O1String != other.O1String) return false;      if (O1Int32 != other.O1Int32) return false;      if (PlainString != other.PlainString) return false;      if (O2Int32 != other.O2Int32) return false;      if (O2String != other.O2String) return false;      if (O1Case != other.O1Case) return false;      if (O2Case != other.O2Case) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (PlainInt32 != 0) hash ^= PlainInt32.GetHashCode();      if (o1Case_ == O1OneofCase.O1String) hash ^= O1String.GetHashCode();      if (o1Case_ == O1OneofCase.O1Int32) hash ^= O1Int32.GetHashCode();      if (PlainString.Length != 0) hash ^= PlainString.GetHashCode();      if (o2Case_ == O2OneofCase.O2Int32) hash ^= O2Int32.GetHashCode();      if (o2Case_ == O2OneofCase.O2String) hash ^= O2String.GetHashCode();      hash ^= (int) o1Case_;      hash ^= (int) o2Case_;      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (PlainString.Length != 0) {        output.WriteRawTag(10);        output.WriteString(PlainString);      }      if (o1Case_ == O1OneofCase.O1String) {        output.WriteRawTag(18);        output.WriteString(O1String);      }      if (o2Case_ == O2OneofCase.O2String) {        output.WriteRawTag(26);        output.WriteString(O2String);      }      if (PlainInt32 != 0) {        output.WriteRawTag(32);        output.WriteInt32(PlainInt32);      }      if (o1Case_ == O1OneofCase.O1Int32) {        output.WriteRawTag(40);        output.WriteInt32(O1Int32);      }      if (o2Case_ == O2OneofCase.O2Int32) {        output.WriteRawTag(48);        output.WriteInt32(O2Int32);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (PlainString.Length != 0) {        output.WriteRawTag(10);        output.WriteString(PlainString);      }      if (o1Case_ == O1OneofCase.O1String) {        output.WriteRawTag(18);        output.WriteString(O1String);      }      if (o2Case_ == O2OneofCase.O2String) {        output.WriteRawTag(26);        output.WriteString(O2String);      }      if (PlainInt32 != 0) {        output.WriteRawTag(32);        output.WriteInt32(PlainInt32);      }      if (o1Case_ == O1OneofCase.O1Int32) {        output.WriteRawTag(40);        output.WriteInt32(O1Int32);      }      if (o2Case_ == O2OneofCase.O2Int32) {        output.WriteRawTag(48);        output.WriteInt32(O2Int32);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (PlainInt32 != 0) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlainInt32);      }      if (o1Case_ == O1OneofCase.O1String) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(O1String);      }      if (o1Case_ == O1OneofCase.O1Int32) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(O1Int32);      }      if (PlainString.Length != 0) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(PlainString);      }      if (o2Case_ == O2OneofCase.O2Int32) {        size += 1 + pb::CodedOutputStream.ComputeInt32Size(O2Int32);      }      if (o2Case_ == O2OneofCase.O2String) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(O2String);      }      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(TestJsonFieldOrdering other) {      if (other == null) {        return;      }      if (other.PlainInt32 != 0) {        PlainInt32 = other.PlainInt32;      }      if (other.PlainString.Length != 0) {        PlainString = other.PlainString;      }      switch (other.O1Case) {        case O1OneofCase.O1String:          O1String = other.O1String;          break;        case O1OneofCase.O1Int32:          O1Int32 = other.O1Int32;          break;      }      switch (other.O2Case) {        case O2OneofCase.O2Int32:          O2Int32 = other.O2Int32;          break;        case O2OneofCase.O2String:          O2String = other.O2String;          break;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 10: {            PlainString = input.ReadString();            break;          }          case 18: {            O1String = input.ReadString();            break;          }          case 26: {            O2String = input.ReadString();            break;          }          case 32: {            PlainInt32 = input.ReadInt32();            break;          }          case 40: {            O1Int32 = input.ReadInt32();            break;          }          case 48: {            O2Int32 = input.ReadInt32();            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 10: {            PlainString = input.ReadString();            break;          }          case 18: {            O1String = input.ReadString();            break;          }          case 26: {            O2String = input.ReadString();            break;          }          case 32: {            PlainInt32 = input.ReadInt32();            break;          }          case 40: {            O1Int32 = input.ReadInt32();            break;          }          case 48: {            O2Int32 = input.ReadInt32();            break;          }        }      }    }    #endif  }  public sealed partial class TestJsonName : pb::IMessage<TestJsonName>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<TestJsonName> _parser = new pb::MessageParser<TestJsonName>(() => new TestJsonName());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<TestJsonName> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[7]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public TestJsonName() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public TestJsonName(TestJsonName other) : this() {      name_ = other.name_;      description_ = other.description_;      guid_ = other.guid_;      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public TestJsonName Clone() {      return new TestJsonName(this);    }    /// <summary>Field number for the "name" field.</summary>    public const int NameFieldNumber = 1;    private string name_ = "";    /// <summary>    /// Message for testing the effects for of the json_name option    /// </summary>    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public string Name {      get { return name_; }      set {        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");      }    }    /// <summary>Field number for the "description" field.</summary>    public const int DescriptionFieldNumber = 2;    private string description_ = "";    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public string Description {      get { return description_; }      set {        description_ = pb::ProtoPreconditions.CheckNotNull(value, "value");      }    }    /// <summary>Field number for the "guid" field.</summary>    public const int GuidFieldNumber = 3;    private string guid_ = "";    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public string Guid {      get { return guid_; }      set {        guid_ = pb::ProtoPreconditions.CheckNotNull(value, "value");      }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as TestJsonName);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(TestJsonName other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Name != other.Name) return false;      if (Description != other.Description) return false;      if (Guid != other.Guid) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (Name.Length != 0) hash ^= Name.GetHashCode();      if (Description.Length != 0) hash ^= Description.GetHashCode();      if (Guid.Length != 0) hash ^= Guid.GetHashCode();      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (Name.Length != 0) {        output.WriteRawTag(10);        output.WriteString(Name);      }      if (Description.Length != 0) {        output.WriteRawTag(18);        output.WriteString(Description);      }      if (Guid.Length != 0) {        output.WriteRawTag(26);        output.WriteString(Guid);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (Name.Length != 0) {        output.WriteRawTag(10);        output.WriteString(Name);      }      if (Description.Length != 0) {        output.WriteRawTag(18);        output.WriteString(Description);      }      if (Guid.Length != 0) {        output.WriteRawTag(26);        output.WriteString(Guid);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (Name.Length != 0) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);      }      if (Description.Length != 0) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(Description);      }      if (Guid.Length != 0) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(Guid);      }      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(TestJsonName other) {      if (other == null) {        return;      }      if (other.Name.Length != 0) {        Name = other.Name;      }      if (other.Description.Length != 0) {        Description = other.Description;      }      if (other.Guid.Length != 0) {        Guid = other.Guid;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 10: {            Name = input.ReadString();            break;          }          case 18: {            Description = input.ReadString();            break;          }          case 26: {            Guid = input.ReadString();            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 10: {            Name = input.ReadString();            break;          }          case 18: {            Description = input.ReadString();            break;          }          case 26: {            Guid = input.ReadString();            break;          }        }      }    }    #endif  }  /// <summary>  /// Issue 3200: When merging two messages which use the same  /// oneof case, which is itself a message type, the submessages should  /// be merged.  /// </summary>  public sealed partial class OneofMerging : pb::IMessage<OneofMerging>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<OneofMerging> _parser = new pb::MessageParser<OneofMerging>(() => new OneofMerging());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<OneofMerging> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[8]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public OneofMerging() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public OneofMerging(OneofMerging other) : this() {      switch (other.ValueCase) {        case ValueOneofCase.Text:          Text = other.Text;          break;        case ValueOneofCase.Nested:          Nested = other.Nested.Clone();          break;      }      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public OneofMerging Clone() {      return new OneofMerging(this);    }    /// <summary>Field number for the "text" field.</summary>    public const int TextFieldNumber = 1;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public string Text {      get { return valueCase_ == ValueOneofCase.Text ? (string) value_ : ""; }      set {        value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");        valueCase_ = ValueOneofCase.Text;      }    }    /// <summary>Field number for the "nested" field.</summary>    public const int NestedFieldNumber = 2;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested Nested {      get { return valueCase_ == ValueOneofCase.Nested ? (global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested) value_ : null; }      set {        value_ = value;        valueCase_ = value == null ? ValueOneofCase.None : ValueOneofCase.Nested;      }    }    private object value_;    /// <summary>Enum of possible cases for the "value" oneof.</summary>    public enum ValueOneofCase {      None = 0,      Text = 1,      Nested = 2,    }    private ValueOneofCase valueCase_ = ValueOneofCase.None;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public ValueOneofCase ValueCase {      get { return valueCase_; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void ClearValue() {      valueCase_ = ValueOneofCase.None;      value_ = null;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as OneofMerging);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(OneofMerging other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (Text != other.Text) return false;      if (!object.Equals(Nested, other.Nested)) return false;      if (ValueCase != other.ValueCase) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (valueCase_ == ValueOneofCase.Text) hash ^= Text.GetHashCode();      if (valueCase_ == ValueOneofCase.Nested) hash ^= Nested.GetHashCode();      hash ^= (int) valueCase_;      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      output.WriteRawMessage(this);    #else      if (valueCase_ == ValueOneofCase.Text) {        output.WriteRawTag(10);        output.WriteString(Text);      }      if (valueCase_ == ValueOneofCase.Nested) {        output.WriteRawTag(18);        output.WriteMessage(Nested);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {      if (valueCase_ == ValueOneofCase.Text) {        output.WriteRawTag(10);        output.WriteString(Text);      }      if (valueCase_ == ValueOneofCase.Nested) {        output.WriteRawTag(18);        output.WriteMessage(Nested);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(ref output);      }    }    #endif    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (valueCase_ == ValueOneofCase.Text) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(Text);      }      if (valueCase_ == ValueOneofCase.Nested) {        size += 1 + pb::CodedOutputStream.ComputeMessageSize(Nested);      }      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(OneofMerging other) {      if (other == null) {        return;      }      switch (other.ValueCase) {        case ValueOneofCase.Text:          Text = other.Text;          break;        case ValueOneofCase.Nested:          if (Nested == null) {            Nested = new global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested();          }          Nested.MergeFrom(other.Nested);          break;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 10: {            Text = input.ReadString();            break;          }          case 18: {            global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested subBuilder = new global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested();            if (valueCase_ == ValueOneofCase.Nested) {              subBuilder.MergeFrom(Nested);            }            input.ReadMessage(subBuilder);            Nested = subBuilder;            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 10: {            Text = input.ReadString();            break;          }          case 18: {            global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested subBuilder = new global::UnitTest.Issues.TestProtos.OneofMerging.Types.Nested();            if (valueCase_ == ValueOneofCase.Nested) {              subBuilder.MergeFrom(Nested);            }            input.ReadMessage(subBuilder);            Nested = subBuilder;            break;          }        }      }    }    #endif    #region Nested types    /// <summary>Container for nested types declared in the OneofMerging message type.</summary>    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static partial class Types {      public sealed partial class Nested : pb::IMessage<Nested>      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          , pb::IBufferMessage      #endif      {        private static readonly pb::MessageParser<Nested> _parser = new pb::MessageParser<Nested>(() => new Nested());        private pb::UnknownFieldSet _unknownFields;        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public static pb::MessageParser<Nested> Parser { get { return _parser; } }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public static pbr::MessageDescriptor Descriptor {          get { return global::UnitTest.Issues.TestProtos.OneofMerging.Descriptor.NestedTypes[0]; }        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        pbr::MessageDescriptor pb::IMessage.Descriptor {          get { return Descriptor; }        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public Nested() {          OnConstruction();        }        partial void OnConstruction();        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public Nested(Nested other) : this() {          x_ = other.x_;          y_ = other.y_;          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public Nested Clone() {          return new Nested(this);        }        /// <summary>Field number for the "x" field.</summary>        public const int XFieldNumber = 1;        private int x_;        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public int X {          get { return x_; }          set {            x_ = value;          }        }        /// <summary>Field number for the "y" field.</summary>        public const int YFieldNumber = 2;        private int y_;        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public int Y {          get { return y_; }          set {            y_ = value;          }        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override bool Equals(object other) {          return Equals(other as Nested);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public bool Equals(Nested other) {          if (ReferenceEquals(other, null)) {            return false;          }          if (ReferenceEquals(other, this)) {            return true;          }          if (X != other.X) return false;          if (Y != other.Y) return false;          return Equals(_unknownFields, other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override int GetHashCode() {          int hash = 1;          if (X != 0) hash ^= X.GetHashCode();          if (Y != 0) hash ^= Y.GetHashCode();          if (_unknownFields != null) {            hash ^= _unknownFields.GetHashCode();          }          return hash;        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public override string ToString() {          return pb::JsonFormatter.ToDiagnosticString(this);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void WriteTo(pb::CodedOutputStream output) {        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          output.WriteRawMessage(this);        #else          if (X != 0) {            output.WriteRawTag(8);            output.WriteInt32(X);          }          if (Y != 0) {            output.WriteRawTag(16);            output.WriteInt32(Y);          }          if (_unknownFields != null) {            _unknownFields.WriteTo(output);          }        #endif        }        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {          if (X != 0) {            output.WriteRawTag(8);            output.WriteInt32(X);          }          if (Y != 0) {            output.WriteRawTag(16);            output.WriteInt32(Y);          }          if (_unknownFields != null) {            _unknownFields.WriteTo(ref output);          }        }        #endif        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public int CalculateSize() {          int size = 0;          if (X != 0) {            size += 1 + pb::CodedOutputStream.ComputeInt32Size(X);          }          if (Y != 0) {            size += 1 + pb::CodedOutputStream.ComputeInt32Size(Y);          }          if (_unknownFields != null) {            size += _unknownFields.CalculateSize();          }          return size;        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void MergeFrom(Nested other) {          if (other == null) {            return;          }          if (other.X != 0) {            X = other.X;          }          if (other.Y != 0) {            Y = other.Y;          }          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);        }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        public void MergeFrom(pb::CodedInputStream input) {        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE          input.ReadRawMessage(this);        #else          uint tag;          while ((tag = input.ReadTag()) != 0) {            switch(tag) {              default:                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);                break;              case 8: {                X = input.ReadInt32();                break;              }              case 16: {                Y = input.ReadInt32();                break;              }            }          }        #endif        }        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {          uint tag;          while ((tag = input.ReadTag()) != 0) {            switch(tag) {              default:                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);                break;              case 8: {                X = input.ReadInt32();                break;              }              case 16: {                Y = input.ReadInt32();                break;              }            }          }        }        #endif      }    }    #endregion  }  public sealed partial class NullValueOutsideStruct : pb::IMessage<NullValueOutsideStruct>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<NullValueOutsideStruct> _parser = new pb::MessageParser<NullValueOutsideStruct>(() => new NullValueOutsideStruct());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<NullValueOutsideStruct> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[9]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NullValueOutsideStruct() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NullValueOutsideStruct(NullValueOutsideStruct other) : this() {      switch (other.ValueCase) {        case ValueOneofCase.StringValue:          StringValue = other.StringValue;          break;        case ValueOneofCase.NullValue:          NullValue = other.NullValue;          break;      }      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NullValueOutsideStruct Clone() {      return new NullValueOutsideStruct(this);    }    /// <summary>Field number for the "string_value" field.</summary>    public const int StringValueFieldNumber = 1;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public string StringValue {      get { return valueCase_ == ValueOneofCase.StringValue ? (string) value_ : ""; }      set {        value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");        valueCase_ = ValueOneofCase.StringValue;      }    }    /// <summary>Field number for the "null_value" field.</summary>    public const int NullValueFieldNumber = 2;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public global::Google.Protobuf.WellKnownTypes.NullValue NullValue {      get { return valueCase_ == ValueOneofCase.NullValue ? (global::Google.Protobuf.WellKnownTypes.NullValue) value_ : global::Google.Protobuf.WellKnownTypes.NullValue.NullValue; }      set {        value_ = value;        valueCase_ = ValueOneofCase.NullValue;      }    }    private object value_;    /// <summary>Enum of possible cases for the "value" oneof.</summary>    public enum ValueOneofCase {      None = 0,      StringValue = 1,      NullValue = 2,    }    private ValueOneofCase valueCase_ = ValueOneofCase.None;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public ValueOneofCase ValueCase {      get { return valueCase_; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void ClearValue() {      valueCase_ = ValueOneofCase.None;      value_ = null;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as NullValueOutsideStruct);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(NullValueOutsideStruct other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (StringValue != other.StringValue) return false;      if (NullValue != other.NullValue) return false;      if (ValueCase != other.ValueCase) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (valueCase_ == ValueOneofCase.StringValue) hash ^= StringValue.GetHashCode();      if (valueCase_ == ValueOneofCase.NullValue) hash ^= NullValue.GetHashCode();      hash ^= (int) valueCase_;      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {      if (valueCase_ == ValueOneofCase.StringValue) {        output.WriteRawTag(10);        output.WriteString(StringValue);      }      if (valueCase_ == ValueOneofCase.NullValue) {        output.WriteRawTag(16);        output.WriteEnum((int) NullValue);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (valueCase_ == ValueOneofCase.StringValue) {        size += 1 + pb::CodedOutputStream.ComputeStringSize(StringValue);      }      if (valueCase_ == ValueOneofCase.NullValue) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) NullValue);      }      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(NullValueOutsideStruct other) {      if (other == null) {        return;      }      switch (other.ValueCase) {        case ValueOneofCase.StringValue:          StringValue = other.StringValue;          break;        case ValueOneofCase.NullValue:          NullValue = other.NullValue;          break;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 10: {            StringValue = input.ReadString();            break;          }          case 16: {            value_ = input.ReadEnum();            valueCase_ = ValueOneofCase.NullValue;            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 10: {            StringValue = input.ReadString();            break;          }          case 16: {            value_ = input.ReadEnum();            valueCase_ = ValueOneofCase.NullValue;            break;          }        }      }    }    #endif  }  public sealed partial class NullValueNotInOneof : pb::IMessage<NullValueNotInOneof>  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      , pb::IBufferMessage  #endif  {    private static readonly pb::MessageParser<NullValueNotInOneof> _parser = new pb::MessageParser<NullValueNotInOneof>(() => new NullValueNotInOneof());    private pb::UnknownFieldSet _unknownFields;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pb::MessageParser<NullValueNotInOneof> Parser { get { return _parser; } }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public static pbr::MessageDescriptor Descriptor {      get { return global::UnitTest.Issues.TestProtos.UnittestIssuesReflection.Descriptor.MessageTypes[10]; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    pbr::MessageDescriptor pb::IMessage.Descriptor {      get { return Descriptor; }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NullValueNotInOneof() {      OnConstruction();    }    partial void OnConstruction();    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NullValueNotInOneof(NullValueNotInOneof other) : this() {      nullValue_ = other.nullValue_;      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public NullValueNotInOneof Clone() {      return new NullValueNotInOneof(this);    }    /// <summary>Field number for the "null_value" field.</summary>    public const int NullValueFieldNumber = 2;    private global::Google.Protobuf.WellKnownTypes.NullValue nullValue_ = global::Google.Protobuf.WellKnownTypes.NullValue.NullValue;    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public global::Google.Protobuf.WellKnownTypes.NullValue NullValue {      get { return nullValue_; }      set {        nullValue_ = value;      }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override bool Equals(object other) {      return Equals(other as NullValueNotInOneof);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public bool Equals(NullValueNotInOneof other) {      if (ReferenceEquals(other, null)) {        return false;      }      if (ReferenceEquals(other, this)) {        return true;      }      if (NullValue != other.NullValue) return false;      return Equals(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override int GetHashCode() {      int hash = 1;      if (NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) hash ^= NullValue.GetHashCode();      if (_unknownFields != null) {        hash ^= _unknownFields.GetHashCode();      }      return hash;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public override string ToString() {      return pb::JsonFormatter.ToDiagnosticString(this);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void WriteTo(pb::CodedOutputStream output) {      if (NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) {        output.WriteRawTag(16);        output.WriteEnum((int) NullValue);      }      if (_unknownFields != null) {        _unknownFields.WriteTo(output);      }    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public int CalculateSize() {      int size = 0;      if (NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) {        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) NullValue);      }      if (_unknownFields != null) {        size += _unknownFields.CalculateSize();      }      return size;    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(NullValueNotInOneof other) {      if (other == null) {        return;      }      if (other.NullValue != global::Google.Protobuf.WellKnownTypes.NullValue.NullValue) {        NullValue = other.NullValue;      }      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    public void MergeFrom(pb::CodedInputStream input) {    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE      input.ReadRawMessage(this);    #else      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);            break;          case 16: {            NullValue = (global::Google.Protobuf.WellKnownTypes.NullValue) input.ReadEnum();            break;          }        }      }    #endif    }    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {      uint tag;      while ((tag = input.ReadTag()) != 0) {        switch(tag) {          default:            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);            break;          case 16: {            NullValue = (global::Google.Protobuf.WellKnownTypes.NullValue) input.ReadEnum();            break;          }        }      }    }    #endif  }  #endregion}#endregion Designer generated code
 |