| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405 | // Generated by ProtoGen, Version=2.3.0.277, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!#pragma warning disable 1591, 0612#region Designer generated codeusing pb = global::Google.ProtocolBuffers;using pbc = global::Google.ProtocolBuffers.Collections;using pbd = global::Google.ProtocolBuffers.Descriptors;using scg = global::System.Collections.Generic;namespace Google.ProtocolBuffers.TestProtos {    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]  public static partial class UnitTestRpcInteropLite {      #region Extension registration    public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {    }    #endregion    #region Static variables    #endregion    #region Extensions    internal static readonly object Descriptor;    static UnitTestRpcInteropLite() {      Descriptor = null;    }    #endregion      }  #region Messages  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]  public sealed partial class SearchRequest : pb::GeneratedMessageLite<SearchRequest, SearchRequest.Builder> {    private SearchRequest() { }    private static readonly SearchRequest defaultInstance = new SearchRequest().MakeReadOnly();    private static readonly string[] _searchRequestFieldNames = new string[] { "Criteria" };    private static readonly uint[] _searchRequestFieldTags = new uint[] { 10 };    public static SearchRequest DefaultInstance {      get { return defaultInstance; }    }        public override SearchRequest DefaultInstanceForType {      get { return DefaultInstance; }    }        protected override SearchRequest ThisMessage {      get { return this; }    }        public const int CriteriaFieldNumber = 1;    private pbc::PopsicleList<string> criteria_ = new pbc::PopsicleList<string>();    public scg::IList<string> CriteriaList {      get { return pbc::Lists.AsReadOnly(criteria_); }    }    public int CriteriaCount {      get { return criteria_.Count; }    }    public string GetCriteria(int index) {      return criteria_[index];    }        public override bool IsInitialized {      get {        return true;      }    }        public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _searchRequestFieldNames;      if (criteria_.Count > 0) {        output.WriteStringArray(1, field_names[0], criteria_);      }    }        private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;                size = 0;        {          int dataSize = 0;          foreach (string element in CriteriaList) {            dataSize += pb::CodedOutputStream.ComputeStringSizeNoTag(element);          }          size += dataSize;          size += 1 * criteria_.Count;        }        memoizedSerializedSize = size;        return size;      }    }        #region Lite runtime methods    public override int GetHashCode() {      int hash = GetType().GetHashCode();      foreach(string i in criteria_)        hash ^= i.GetHashCode();      return hash;    }        public override bool Equals(object obj) {      SearchRequest other = obj as SearchRequest;      if (other == null) return false;      if(criteria_.Count != other.criteria_.Count) return false;      for(int ix=0; ix < criteria_.Count; ix++)        if(!criteria_[ix].Equals(other.criteria_[ix])) return false;      return true;    }        public override void PrintTo(global::System.IO.TextWriter writer) {      PrintField("Criteria", criteria_, writer);    }    #endregion        public static SearchRequest ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static SearchRequest ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static SearchRequest ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static SearchRequest ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static SearchRequest ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static SearchRequest ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static SearchRequest ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static SearchRequest ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static SearchRequest ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static SearchRequest ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private SearchRequest MakeReadOnly() {      criteria_.MakeReadOnly();      return this;    }        public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(SearchRequest prototype) {      return new Builder(prototype);    }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]    public sealed partial class Builder : pb::GeneratedBuilderLite<SearchRequest, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(SearchRequest cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }            private bool resultIsReadOnly;      private SearchRequest result;            private SearchRequest PrepareBuilder() {        if (resultIsReadOnly) {          SearchRequest original = result;          result = new SearchRequest();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }            public override bool IsInitialized {        get { return result.IsInitialized; }      }            protected override SearchRequest MessageBeingBuilt {        get { return PrepareBuilder(); }      }            public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }            public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }            public override SearchRequest DefaultInstanceForType {        get { return global::Google.ProtocolBuffers.TestProtos.SearchRequest.DefaultInstance; }      }            public override SearchRequest BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }            public override Builder MergeFrom(pb::IMessageLite other) {        if (other is SearchRequest) {          return MergeFrom((SearchRequest) other);        } else {          base.MergeFrom(other);          return this;        }      }            public override Builder MergeFrom(SearchRequest other) {        if (other == global::Google.ProtocolBuffers.TestProtos.SearchRequest.DefaultInstance) return this;        PrepareBuilder();        if (other.criteria_.Count != 0) {          result.criteria_.Add(other.criteria_);        }        return this;      }            public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }            public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_searchRequestFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _searchRequestFieldTags[field_ordinal];            else {              ParseUnknownField(input, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                return this;              }              ParseUnknownField(input, extensionRegistry, tag, field_name);              break;            }            case 10: {              input.ReadStringArray(tag, field_name, result.criteria_);              break;            }          }        }                return this;      }                  public pbc::IPopsicleList<string> CriteriaList {        get { return PrepareBuilder().criteria_; }      }      public int CriteriaCount {        get { return result.CriteriaCount; }      }      public string GetCriteria(int index) {        return result.GetCriteria(index);      }      public Builder SetCriteria(int index, string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.criteria_[index] = value;        return this;      }      public Builder AddCriteria(string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.criteria_.Add(value);        return this;      }      public Builder AddRangeCriteria(scg::IEnumerable<string> values) {        PrepareBuilder();        result.criteria_.Add(values);        return this;      }      public Builder ClearCriteria() {        PrepareBuilder();        result.criteria_.Clear();        return this;      }    }    static SearchRequest() {      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestRpcInteropLite.Descriptor, null);    }  }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]  public sealed partial class SearchResponse : pb::GeneratedMessageLite<SearchResponse, SearchResponse.Builder> {    private SearchResponse() { }    private static readonly SearchResponse defaultInstance = new SearchResponse().MakeReadOnly();    private static readonly string[] _searchResponseFieldNames = new string[] { "results" };    private static readonly uint[] _searchResponseFieldTags = new uint[] { 10 };    public static SearchResponse DefaultInstance {      get { return defaultInstance; }    }        public override SearchResponse DefaultInstanceForType {      get { return DefaultInstance; }    }        protected override SearchResponse ThisMessage {      get { return this; }    }        #region Nested types    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]    public static class Types {      [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]      [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]      [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]      public sealed partial class ResultItem : pb::GeneratedMessageLite<ResultItem, ResultItem.Builder> {        private ResultItem() { }        private static readonly ResultItem defaultInstance = new ResultItem().MakeReadOnly();        private static readonly string[] _resultItemFieldNames = new string[] { "name", "url" };        private static readonly uint[] _resultItemFieldTags = new uint[] { 18, 10 };        public static ResultItem DefaultInstance {          get { return defaultInstance; }        }                public override ResultItem DefaultInstanceForType {          get { return DefaultInstance; }        }                protected override ResultItem ThisMessage {          get { return this; }        }                public const int UrlFieldNumber = 1;        private bool hasUrl;        private string url_ = "";        public bool HasUrl {          get { return hasUrl; }        }        public string Url {          get { return url_; }        }                public const int NameFieldNumber = 2;        private bool hasName;        private string name_ = "";        public bool HasName {          get { return hasName; }        }        public string Name {          get { return name_; }        }                public override bool IsInitialized {          get {            if (!hasUrl) return false;            return true;          }        }                public override void WriteTo(pb::ICodedOutputStream output) {          int size = SerializedSize;          string[] field_names = _resultItemFieldNames;          if (hasUrl) {            output.WriteString(1, field_names[1], Url);          }          if (hasName) {            output.WriteString(2, field_names[0], Name);          }        }                private int memoizedSerializedSize = -1;        public override int SerializedSize {          get {            int size = memoizedSerializedSize;            if (size != -1) return size;                        size = 0;            if (hasUrl) {              size += pb::CodedOutputStream.ComputeStringSize(1, Url);            }            if (hasName) {              size += pb::CodedOutputStream.ComputeStringSize(2, Name);            }            memoizedSerializedSize = size;            return size;          }        }                #region Lite runtime methods        public override int GetHashCode() {          int hash = GetType().GetHashCode();          if (hasUrl) hash ^= url_.GetHashCode();          if (hasName) hash ^= name_.GetHashCode();          return hash;        }                public override bool Equals(object obj) {          ResultItem other = obj as ResultItem;          if (other == null) return false;          if (hasUrl != other.hasUrl || (hasUrl && !url_.Equals(other.url_))) return false;          if (hasName != other.hasName || (hasName && !name_.Equals(other.name_))) return false;          return true;        }                public override void PrintTo(global::System.IO.TextWriter writer) {          PrintField("url", hasUrl, url_, writer);          PrintField("name", hasName, name_, writer);        }        #endregion                public static ResultItem ParseFrom(pb::ByteString data) {          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();        }        public static ResultItem ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();        }        public static ResultItem ParseFrom(byte[] data) {          return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();        }        public static ResultItem ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {          return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();        }        public static ResultItem ParseFrom(global::System.IO.Stream input) {          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();        }        public static ResultItem ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();        }        public static ResultItem ParseDelimitedFrom(global::System.IO.Stream input) {          return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();        }        public static ResultItem ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {          return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();        }        public static ResultItem ParseFrom(pb::ICodedInputStream input) {          return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();        }        public static ResultItem ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {          return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();        }        private ResultItem MakeReadOnly() {          return this;        }                public static Builder CreateBuilder() { return new Builder(); }        public override Builder ToBuilder() { return CreateBuilder(this); }        public override Builder CreateBuilderForType() { return new Builder(); }        public static Builder CreateBuilder(ResultItem prototype) {          return new Builder(prototype);        }                [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]        [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]        public sealed partial class Builder : pb::GeneratedBuilderLite<ResultItem, Builder> {          protected override Builder ThisBuilder {            get { return this; }          }          public Builder() {            result = DefaultInstance;            resultIsReadOnly = true;          }          internal Builder(ResultItem cloneFrom) {            result = cloneFrom;            resultIsReadOnly = true;          }                    private bool resultIsReadOnly;          private ResultItem result;                    private ResultItem PrepareBuilder() {            if (resultIsReadOnly) {              ResultItem original = result;              result = new ResultItem();              resultIsReadOnly = false;              MergeFrom(original);            }            return result;          }                    public override bool IsInitialized {            get { return result.IsInitialized; }          }                    protected override ResultItem MessageBeingBuilt {            get { return PrepareBuilder(); }          }                    public override Builder Clear() {            result = DefaultInstance;            resultIsReadOnly = true;            return this;          }                    public override Builder Clone() {            if (resultIsReadOnly) {              return new Builder(result);            } else {              return new Builder().MergeFrom(result);            }          }                    public override ResultItem DefaultInstanceForType {            get { return global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem.DefaultInstance; }          }                    public override ResultItem BuildPartial() {            if (resultIsReadOnly) {              return result;            }            resultIsReadOnly = true;            return result.MakeReadOnly();          }                    public override Builder MergeFrom(pb::IMessageLite other) {            if (other is ResultItem) {              return MergeFrom((ResultItem) other);            } else {              base.MergeFrom(other);              return this;            }          }                    public override Builder MergeFrom(ResultItem other) {            if (other == global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem.DefaultInstance) return this;            PrepareBuilder();            if (other.HasUrl) {              Url = other.Url;            }            if (other.HasName) {              Name = other.Name;            }            return this;          }                    public override Builder MergeFrom(pb::ICodedInputStream input) {            return MergeFrom(input, pb::ExtensionRegistry.Empty);          }                    public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {            PrepareBuilder();            uint tag;            string field_name;            while (input.ReadTag(out tag, out field_name)) {              if(tag == 0 && field_name != null) {                int field_ordinal = global::System.Array.BinarySearch(_resultItemFieldNames, field_name, global::System.StringComparer.Ordinal);                if(field_ordinal >= 0)                  tag = _resultItemFieldTags[field_ordinal];                else {                  ParseUnknownField(input, extensionRegistry, tag, field_name);                  continue;                }              }              switch (tag) {                case 0: {                  throw pb::InvalidProtocolBufferException.InvalidTag();                }                default: {                  if (pb::WireFormat.IsEndGroupTag(tag)) {                    return this;                  }                  ParseUnknownField(input, extensionRegistry, tag, field_name);                  break;                }                case 10: {                  result.hasUrl = input.ReadString(ref result.url_);                  break;                }                case 18: {                  result.hasName = input.ReadString(ref result.name_);                  break;                }              }            }                        return this;          }                              public bool HasUrl {            get { return result.hasUrl; }          }          public string Url {            get { return result.Url; }            set { SetUrl(value); }          }          public Builder SetUrl(string value) {            pb::ThrowHelper.ThrowIfNull(value, "value");            PrepareBuilder();            result.hasUrl = true;            result.url_ = value;            return this;          }          public Builder ClearUrl() {            PrepareBuilder();            result.hasUrl = false;            result.url_ = "";            return this;          }                    public bool HasName {            get { return result.hasName; }          }          public string Name {            get { return result.Name; }            set { SetName(value); }          }          public Builder SetName(string value) {            pb::ThrowHelper.ThrowIfNull(value, "value");            PrepareBuilder();            result.hasName = true;            result.name_ = value;            return this;          }          public Builder ClearName() {            PrepareBuilder();            result.hasName = false;            result.name_ = "";            return this;          }        }        static ResultItem() {          object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestRpcInteropLite.Descriptor, null);        }      }          }    #endregion        public const int ResultsFieldNumber = 1;    private pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem> results_ = new pbc::PopsicleList<global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem>();    public scg::IList<global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem> ResultsList {      get { return results_; }    }    public int ResultsCount {      get { return results_.Count; }    }    public global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem GetResults(int index) {      return results_[index];    }        public override bool IsInitialized {      get {        foreach (global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem element in ResultsList) {          if (!element.IsInitialized) return false;        }        return true;      }    }        public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _searchResponseFieldNames;      if (results_.Count > 0) {        output.WriteMessageArray(1, field_names[0], results_);      }    }        private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;                size = 0;        foreach (global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem element in ResultsList) {          size += pb::CodedOutputStream.ComputeMessageSize(1, element);        }        memoizedSerializedSize = size;        return size;      }    }        #region Lite runtime methods    public override int GetHashCode() {      int hash = GetType().GetHashCode();      foreach(global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem i in results_)        hash ^= i.GetHashCode();      return hash;    }        public override bool Equals(object obj) {      SearchResponse other = obj as SearchResponse;      if (other == null) return false;      if(results_.Count != other.results_.Count) return false;      for(int ix=0; ix < results_.Count; ix++)        if(!results_[ix].Equals(other.results_[ix])) return false;      return true;    }        public override void PrintTo(global::System.IO.TextWriter writer) {      PrintField("results", results_, writer);    }    #endregion        public static SearchResponse ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static SearchResponse ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static SearchResponse ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static SearchResponse ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static SearchResponse ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static SearchResponse ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static SearchResponse ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static SearchResponse ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static SearchResponse ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static SearchResponse ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private SearchResponse MakeReadOnly() {      results_.MakeReadOnly();      return this;    }        public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(SearchResponse prototype) {      return new Builder(prototype);    }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]    public sealed partial class Builder : pb::GeneratedBuilderLite<SearchResponse, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(SearchResponse cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }            private bool resultIsReadOnly;      private SearchResponse result;            private SearchResponse PrepareBuilder() {        if (resultIsReadOnly) {          SearchResponse original = result;          result = new SearchResponse();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }            public override bool IsInitialized {        get { return result.IsInitialized; }      }            protected override SearchResponse MessageBeingBuilt {        get { return PrepareBuilder(); }      }            public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }            public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }            public override SearchResponse DefaultInstanceForType {        get { return global::Google.ProtocolBuffers.TestProtos.SearchResponse.DefaultInstance; }      }            public override SearchResponse BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }            public override Builder MergeFrom(pb::IMessageLite other) {        if (other is SearchResponse) {          return MergeFrom((SearchResponse) other);        } else {          base.MergeFrom(other);          return this;        }      }            public override Builder MergeFrom(SearchResponse other) {        if (other == global::Google.ProtocolBuffers.TestProtos.SearchResponse.DefaultInstance) return this;        PrepareBuilder();        if (other.results_.Count != 0) {          result.results_.Add(other.results_);        }        return this;      }            public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }            public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_searchResponseFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _searchResponseFieldTags[field_ordinal];            else {              ParseUnknownField(input, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                return this;              }              ParseUnknownField(input, extensionRegistry, tag, field_name);              break;            }            case 10: {              input.ReadMessageArray(tag, field_name, result.results_, global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem.DefaultInstance, extensionRegistry);              break;            }          }        }                return this;      }                  public pbc::IPopsicleList<global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem> ResultsList {        get { return PrepareBuilder().results_; }      }      public int ResultsCount {        get { return result.ResultsCount; }      }      public global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem GetResults(int index) {        return result.GetResults(index);      }      public Builder SetResults(int index, global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.results_[index] = value;        return this;      }      public Builder SetResults(int index, global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.results_[index] = builderForValue.Build();        return this;      }      public Builder AddResults(global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.results_.Add(value);        return this;      }      public Builder AddResults(global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.results_.Add(builderForValue.Build());        return this;      }      public Builder AddRangeResults(scg::IEnumerable<global::Google.ProtocolBuffers.TestProtos.SearchResponse.Types.ResultItem> values) {        PrepareBuilder();        result.results_.Add(values);        return this;      }      public Builder ClearResults() {        PrepareBuilder();        result.results_.Clear();        return this;      }    }    static SearchResponse() {      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestRpcInteropLite.Descriptor, null);    }  }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]  public sealed partial class RefineSearchRequest : pb::GeneratedMessageLite<RefineSearchRequest, RefineSearchRequest.Builder> {    private RefineSearchRequest() { }    private static readonly RefineSearchRequest defaultInstance = new RefineSearchRequest().MakeReadOnly();    private static readonly string[] _refineSearchRequestFieldNames = new string[] { "Criteria", "previous_results" };    private static readonly uint[] _refineSearchRequestFieldTags = new uint[] { 10, 18 };    public static RefineSearchRequest DefaultInstance {      get { return defaultInstance; }    }        public override RefineSearchRequest DefaultInstanceForType {      get { return DefaultInstance; }    }        protected override RefineSearchRequest ThisMessage {      get { return this; }    }        public const int CriteriaFieldNumber = 1;    private pbc::PopsicleList<string> criteria_ = new pbc::PopsicleList<string>();    public scg::IList<string> CriteriaList {      get { return pbc::Lists.AsReadOnly(criteria_); }    }    public int CriteriaCount {      get { return criteria_.Count; }    }    public string GetCriteria(int index) {      return criteria_[index];    }        public const int PreviousResultsFieldNumber = 2;    private bool hasPreviousResults;    private global::Google.ProtocolBuffers.TestProtos.SearchResponse previousResults_;    public bool HasPreviousResults {      get { return hasPreviousResults; }    }    public global::Google.ProtocolBuffers.TestProtos.SearchResponse PreviousResults {      get { return previousResults_ ?? global::Google.ProtocolBuffers.TestProtos.SearchResponse.DefaultInstance; }    }        public override bool IsInitialized {      get {        if (!hasPreviousResults) return false;        if (!PreviousResults.IsInitialized) return false;        return true;      }    }        public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _refineSearchRequestFieldNames;      if (criteria_.Count > 0) {        output.WriteStringArray(1, field_names[0], criteria_);      }      if (hasPreviousResults) {        output.WriteMessage(2, field_names[1], PreviousResults);      }    }        private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;                size = 0;        {          int dataSize = 0;          foreach (string element in CriteriaList) {            dataSize += pb::CodedOutputStream.ComputeStringSizeNoTag(element);          }          size += dataSize;          size += 1 * criteria_.Count;        }        if (hasPreviousResults) {          size += pb::CodedOutputStream.ComputeMessageSize(2, PreviousResults);        }        memoizedSerializedSize = size;        return size;      }    }        #region Lite runtime methods    public override int GetHashCode() {      int hash = GetType().GetHashCode();      foreach(string i in criteria_)        hash ^= i.GetHashCode();      if (hasPreviousResults) hash ^= previousResults_.GetHashCode();      return hash;    }        public override bool Equals(object obj) {      RefineSearchRequest other = obj as RefineSearchRequest;      if (other == null) return false;      if(criteria_.Count != other.criteria_.Count) return false;      for(int ix=0; ix < criteria_.Count; ix++)        if(!criteria_[ix].Equals(other.criteria_[ix])) return false;      if (hasPreviousResults != other.hasPreviousResults || (hasPreviousResults && !previousResults_.Equals(other.previousResults_))) return false;      return true;    }        public override void PrintTo(global::System.IO.TextWriter writer) {      PrintField("Criteria", criteria_, writer);      PrintField("previous_results", hasPreviousResults, previousResults_, writer);    }    #endregion        public static RefineSearchRequest ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static RefineSearchRequest ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static RefineSearchRequest ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static RefineSearchRequest ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static RefineSearchRequest ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static RefineSearchRequest ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static RefineSearchRequest ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static RefineSearchRequest ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static RefineSearchRequest ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static RefineSearchRequest ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private RefineSearchRequest MakeReadOnly() {      criteria_.MakeReadOnly();      return this;    }        public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(RefineSearchRequest prototype) {      return new Builder(prototype);    }        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]    public sealed partial class Builder : pb::GeneratedBuilderLite<RefineSearchRequest, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(RefineSearchRequest cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }            private bool resultIsReadOnly;      private RefineSearchRequest result;            private RefineSearchRequest PrepareBuilder() {        if (resultIsReadOnly) {          RefineSearchRequest original = result;          result = new RefineSearchRequest();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }            public override bool IsInitialized {        get { return result.IsInitialized; }      }            protected override RefineSearchRequest MessageBeingBuilt {        get { return PrepareBuilder(); }      }            public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }            public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }            public override RefineSearchRequest DefaultInstanceForType {        get { return global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest.DefaultInstance; }      }            public override RefineSearchRequest BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }            public override Builder MergeFrom(pb::IMessageLite other) {        if (other is RefineSearchRequest) {          return MergeFrom((RefineSearchRequest) other);        } else {          base.MergeFrom(other);          return this;        }      }            public override Builder MergeFrom(RefineSearchRequest other) {        if (other == global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest.DefaultInstance) return this;        PrepareBuilder();        if (other.criteria_.Count != 0) {          result.criteria_.Add(other.criteria_);        }        if (other.HasPreviousResults) {          MergePreviousResults(other.PreviousResults);        }        return this;      }            public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }            public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_refineSearchRequestFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _refineSearchRequestFieldTags[field_ordinal];            else {              ParseUnknownField(input, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                return this;              }              ParseUnknownField(input, extensionRegistry, tag, field_name);              break;            }            case 10: {              input.ReadStringArray(tag, field_name, result.criteria_);              break;            }            case 18: {              global::Google.ProtocolBuffers.TestProtos.SearchResponse.Builder subBuilder = global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder();              if (result.hasPreviousResults) {                subBuilder.MergeFrom(PreviousResults);              }              input.ReadMessage(subBuilder, extensionRegistry);              PreviousResults = subBuilder.BuildPartial();              break;            }          }        }                return this;      }                  public pbc::IPopsicleList<string> CriteriaList {        get { return PrepareBuilder().criteria_; }      }      public int CriteriaCount {        get { return result.CriteriaCount; }      }      public string GetCriteria(int index) {        return result.GetCriteria(index);      }      public Builder SetCriteria(int index, string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.criteria_[index] = value;        return this;      }      public Builder AddCriteria(string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.criteria_.Add(value);        return this;      }      public Builder AddRangeCriteria(scg::IEnumerable<string> values) {        PrepareBuilder();        result.criteria_.Add(values);        return this;      }      public Builder ClearCriteria() {        PrepareBuilder();        result.criteria_.Clear();        return this;      }            public bool HasPreviousResults {       get { return result.hasPreviousResults; }      }      public global::Google.ProtocolBuffers.TestProtos.SearchResponse PreviousResults {        get { return result.PreviousResults; }        set { SetPreviousResults(value); }      }      public Builder SetPreviousResults(global::Google.ProtocolBuffers.TestProtos.SearchResponse value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasPreviousResults = true;        result.previousResults_ = value;        return this;      }      public Builder SetPreviousResults(global::Google.ProtocolBuffers.TestProtos.SearchResponse.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.hasPreviousResults = true;        result.previousResults_ = builderForValue.Build();        return this;      }      public Builder MergePreviousResults(global::Google.ProtocolBuffers.TestProtos.SearchResponse value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        if (result.hasPreviousResults &&            result.previousResults_ != global::Google.ProtocolBuffers.TestProtos.SearchResponse.DefaultInstance) {            result.previousResults_ = global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder(result.previousResults_).MergeFrom(value).BuildPartial();        } else {          result.previousResults_ = value;        }        result.hasPreviousResults = true;        return this;      }      public Builder ClearPreviousResults() {        PrepareBuilder();        result.hasPreviousResults = false;        result.previousResults_ = null;        return this;      }    }    static RefineSearchRequest() {      object.ReferenceEquals(global::Google.ProtocolBuffers.TestProtos.UnitTestRpcInteropLite.Descriptor, null);    }  }    #endregion    #region Services  [global::System.Runtime.InteropServices.GuidAttribute("a65f0925-fd11-4f94-b166-89ac4f027205")]  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]  public partial interface ISearchService {    [global::System.Runtime.InteropServices.DispId(5)]    global::Google.ProtocolBuffers.TestProtos.SearchResponse Search(global::Google.ProtocolBuffers.TestProtos.SearchRequest searchRequest);    global::Google.ProtocolBuffers.TestProtos.SearchResponse RefineSearch(global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest refineSearchRequest);  }    [global::System.CLSCompliant(false)]  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]  public partial class SearchService : ISearchService, pb::IRpcDispatch, global::System.IDisposable {    private readonly bool dispose;    private readonly pb::IRpcDispatch dispatch;    public SearchService(pb::IRpcDispatch dispatch) : this(dispatch, true) {    }    public SearchService(pb::IRpcDispatch dispatch, bool dispose) {      if (null == (this.dispatch = dispatch)) throw new global::System.ArgumentNullException();      this.dispose = dispose && dispatch is global::System.IDisposable;    }        public void Dispose() {      if (dispose) ((global::System.IDisposable)dispatch).Dispose();    }        TMessage pb::IRpcDispatch.CallMethod<TMessage, TBuilder>(string method, pb::IMessageLite request, pb::IBuilderLite<TMessage, TBuilder> response) {      return dispatch.CallMethod(method, request, response);    }        public global::Google.ProtocolBuffers.TestProtos.SearchResponse Search(global::Google.ProtocolBuffers.TestProtos.SearchRequest searchRequest) {       return dispatch.CallMethod("Search", searchRequest, global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder());    }        public global::Google.ProtocolBuffers.TestProtos.SearchResponse RefineSearch(global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest refineSearchRequest) {       return dispatch.CallMethod("RefineSearch", refineSearchRequest, global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder());    }        [global::System.CLSCompliant(false)]    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]    public partial class Dispatch : pb::IRpcDispatch, global::System.IDisposable {      private readonly bool dispose;      private readonly ISearchService implementation;      public Dispatch(ISearchService implementation) : this(implementation, true) {      }      public Dispatch(ISearchService implementation, bool dispose) {        if (null == (this.implementation = implementation)) throw new global::System.ArgumentNullException();        this.dispose = dispose && implementation is global::System.IDisposable;      }            public void Dispose() {        if (dispose) ((global::System.IDisposable)implementation).Dispose();      }            public TMessage CallMethod<TMessage, TBuilder>(string methodName, pb::IMessageLite request, pb::IBuilderLite<TMessage, TBuilder> response)        where TMessage : pb::IMessageLite<TMessage, TBuilder>        where TBuilder : pb::IBuilderLite<TMessage, TBuilder> {        switch(methodName) {          case "Search": return response.MergeFrom(implementation.Search((global::Google.ProtocolBuffers.TestProtos.SearchRequest)request)).Build();          case "RefineSearch": return response.MergeFrom(implementation.RefineSearch((global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest)request)).Build();          default: throw new global::System.MissingMethodException(typeof(ISearchService).FullName, methodName);        }      }    }    [global::System.CLSCompliant(false)]    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("ProtoGen", "2.3.0.277")]    public partial class ServerStub : pb::IRpcServerStub, global::System.IDisposable {      private readonly bool dispose;      private readonly pb::IRpcDispatch implementation;      public ServerStub(ISearchService implementation) : this(implementation, true) {      }      public ServerStub(ISearchService implementation, bool dispose) : this(new Dispatch(implementation, dispose), dispose) {      }      public ServerStub(pb::IRpcDispatch implementation) : this(implementation, true) {      }      public ServerStub(pb::IRpcDispatch implementation, bool dispose) {        if (null == (this.implementation = implementation)) throw new global::System.ArgumentNullException();        this.dispose = dispose && implementation is global::System.IDisposable;      }            public void Dispose() {        if (dispose) ((global::System.IDisposable)implementation).Dispose();      }            public pb::IMessageLite CallMethod(string methodName, pb::ICodedInputStream input, pb::ExtensionRegistry registry) {        switch(methodName) {          case "Search": return implementation.CallMethod(methodName, global::Google.ProtocolBuffers.TestProtos.SearchRequest.ParseFrom(input, registry), global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder());          case "RefineSearch": return implementation.CallMethod(methodName, global::Google.ProtocolBuffers.TestProtos.RefineSearchRequest.ParseFrom(input, registry), global::Google.ProtocolBuffers.TestProtos.SearchResponse.CreateBuilder());          default: throw new global::System.MissingMethodException(typeof(ISearchService).FullName, methodName);        }      }    }  }  #endregion  }#endregion Designer generated code
 |