public Builder mergeFrom(org.bwapi.proxy.messages.TerrainMessages.Region other) {
        if (other == org.bwapi.proxy.messages.TerrainMessages.Region.getDefaultInstance()) return this;
        if (other.hasId()) {
          setId(other.getId());
        }
        if (other.hasPolygon()) {
          mergePolygon(other.getPolygon());
        }
        if (!other.chokepoints_.isEmpty()) {
          if (chokepoints_.isEmpty()) {
            chokepoints_ = other.chokepoints_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureChokepointsIsMutable();
            chokepoints_.addAll(other.chokepoints_);
          }
          onChanged();
        }
        if (!other.baseLocations_.isEmpty()) {
          if (baseLocations_.isEmpty()) {
            baseLocations_ = other.baseLocations_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureBaseLocationsIsMutable();
            baseLocations_.addAll(other.baseLocations_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }