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: {
                            if (shape_ == null)
                            {
                                Shape = new global::Tensorflow.TensorShapeProto();
                            }
                            input.ReadMessage(Shape);
                            break;
                        }

                        case 16: {
                            Dtype = (global::Tensorflow.DataType)input.ReadEnum();
                            break;
                        }

                        case 24: {
                            SpecializedType = (global::Tensorflow.SpecializedType)input.ReadEnum();
                            break;
                        }
                        }
                    }
                }
 public void MergeFrom(HandleShapeAndType other)
 {
     if (other == null)
     {
         return;
     }
     if (other.shape_ != null)
     {
         if (shape_ == null)
         {
             Shape = new global::Tensorflow.TensorShapeProto();
         }
         Shape.MergeFrom(other.Shape);
     }
     if (other.Dtype != global::Tensorflow.DataType.DtInvalid)
     {
         Dtype = other.Dtype;
     }
     if (other.SpecializedType != global::Tensorflow.SpecializedType.StInvalid)
     {
         SpecializedType = other.SpecializedType;
     }
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }