public Builder mergeFrom(com.google.protobuf.DescriptorProtos.FieldDescriptorProto other) {
        if (other == getDefaultInstance()) return this;
        if (other.hasName()) {
          bitField0_ |= 0x00000001;
          name_ = other.name_;
          onChanged();
        }
        if (other.hasNumber()) {
          setNumber(other.getNumber());
        }
        if (other.hasLabel()) {
          setLabel(other.getLabel());
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasTypeName()) {
          bitField0_ |= 0x00000010;
          typeName_ = other.typeName_;
          onChanged();
        }
        if (other.hasExtendee()) {
          bitField0_ |= 0x00000020;
          extendee_ = other.extendee_;
          onChanged();
        }
        if (other.hasDefaultValue()) {
          bitField0_ |= 0x00000040;
          defaultValue_ = other.defaultValue_;
          onChanged();
        }
        if (other.hasOptions()) {
          mergeOptions(other.getOptions());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }