public Builder mergeWeapon(org.bwapi.proxy.messages.GameMessages.WeaponType value) {
        if (weaponBuilder_ == null) {
          if (((bitField0_ & 0x00000100) == 0x00000100) &&
              weapon_ != org.bwapi.proxy.messages.GameMessages.WeaponType.getDefaultInstance()) {
            weapon_ =
              org.bwapi.proxy.messages.GameMessages.WeaponType.newBuilder(weapon_).mergeFrom(value).buildPartial();
          } else {
            weapon_ = value;
          }
          onChanged();
        } else {
          weaponBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000100;
        return this;
      }