public Builder mergeFrom(org.bwapi.proxy.messages.TerrainMessages.DynamicTerrainInfo other) {
        if (other == org.bwapi.proxy.messages.TerrainMessages.DynamicTerrainInfo.getDefaultInstance()) return this;
        if (!other.isVisible_.isEmpty()) {
          if (isVisible_.isEmpty()) {
            isVisible_ = other.isVisible_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureIsVisibleIsMutable();
            isVisible_.addAll(other.isVisible_);
          }
          onChanged();
        }
        if (!other.isExplored_.isEmpty()) {
          if (isExplored_.isEmpty()) {
            isExplored_ = other.isExplored_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureIsExploredIsMutable();
            isExplored_.addAll(other.isExplored_);
          }
          onChanged();
        }
        if (!other.hasCreep_.isEmpty()) {
          if (hasCreep_.isEmpty()) {
            hasCreep_ = other.hasCreep_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureHasCreepIsMutable();
            hasCreep_.addAll(other.hasCreep_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }