public void MergeFrom(pb::CodedInputStream input) {
   uint tag;
   while ((tag = input.ReadTag()) != 0) {
     switch(tag) {
       default:
         _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
         break;
       case 10: {
         ClusterName = input.ReadString();
         break;
       }
       case 18: {
         endpoints_.AddEntriesFrom(input, _repeated_endpoints_codec);
         break;
       }
       case 34: {
         if (policy_ == null) {
           Policy = new global::Envoy.Api.V3Alpha.ClusterLoadAssignment.Types.Policy();
         }
         input.ReadMessage(Policy);
         break;
       }
       case 42: {
         namedEndpoints_.AddEntriesFrom(input, _map_namedEndpoints_codec);
         break;
       }
     }
   }
 }
 public void MergeFrom(ClusterLoadAssignment other) {
   if (other == null) {
     return;
   }
   if (other.ClusterName.Length != 0) {
     ClusterName = other.ClusterName;
   }
   endpoints_.Add(other.endpoints_);
   namedEndpoints_.Add(other.namedEndpoints_);
   if (other.policy_ != null) {
     if (policy_ == null) {
       Policy = new global::Envoy.Api.V3Alpha.ClusterLoadAssignment.Types.Policy();
     }
     Policy.MergeFrom(other.Policy);
   }
   _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }