public void MergeFrom(Environment other)
        {
            if (other == null)
            {
                return;
            }
            if (other.Name.Length != 0)
            {
                Name = other.Name;
            }
            if (other.DisplayName.Length != 0)
            {
                DisplayName = other.DisplayName;
            }
            if (other.Description.Length != 0)
            {
                Description = other.Description;
            }
            if (other.PostStartupScript.Length != 0)
            {
                PostStartupScript = other.PostStartupScript;
            }
            if (other.createTime_ != null)
            {
                if (createTime_ == null)
                {
                    CreateTime = new global::Google.Protobuf.WellKnownTypes.Timestamp();
                }
                CreateTime.MergeFrom(other.CreateTime);
            }
            switch (other.ImageTypeCase)
            {
            case ImageTypeOneofCase.VmImage:
                if (VmImage == null)
                {
                    VmImage = new global::Google.Cloud.Notebooks.V1.VmImage();
                }
                VmImage.MergeFrom(other.VmImage);
                break;

            case ImageTypeOneofCase.ContainerImage:
                if (ContainerImage == null)
                {
                    ContainerImage = new global::Google.Cloud.Notebooks.V1.ContainerImage();
                }
                ContainerImage.MergeFrom(other.ContainerImage);
                break;
            }

            _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Name.Length != 0)
            {
                hash ^= Name.GetHashCode();
            }
            if (DisplayName.Length != 0)
            {
                hash ^= DisplayName.GetHashCode();
            }
            if (Description.Length != 0)
            {
                hash ^= Description.GetHashCode();
            }
            if (imageTypeCase_ == ImageTypeOneofCase.VmImage)
            {
                hash ^= VmImage.GetHashCode();
            }
            if (imageTypeCase_ == ImageTypeOneofCase.ContainerImage)
            {
                hash ^= ContainerImage.GetHashCode();
            }
            if (PostStartupScript.Length != 0)
            {
                hash ^= PostStartupScript.GetHashCode();
            }
            if (createTime_ != null)
            {
                hash ^= CreateTime.GetHashCode();
            }
            hash ^= (int)imageTypeCase_;
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }