public Builder clear() {
        super.clear();
        id_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        name_ = "";
        bitField0_ = (bitField0_ & ~0x00000002);
        if (unitsBuilder_ == null) {
          units_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000004);
        } else {
          unitsBuilder_.clear();
        }
        race_ = org.bwapi.proxy.messages.GameMessages.Race.Zerg;
        bitField0_ = (bitField0_ & ~0x00000008);
        if (stancesBuilder_ == null) {
          stances_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000010);
        } else {
          stancesBuilder_.clear();
        }
        neutral_ = false;
        bitField0_ = (bitField0_ & ~0x00000020);
        if (startLocationBuilder_ == null) {
          startLocation_ = org.bwapi.proxy.messages.BasicTypes.TilePosition.getDefaultInstance();
        } else {
          startLocationBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000040);
        leftGame_ = false;
        bitField0_ = (bitField0_ & ~0x00000080);
        minerals_ = 0;
        bitField0_ = (bitField0_ & ~0x00000100);
        gas_ = 0;
        bitField0_ = (bitField0_ & ~0x00000200);
        cumulativeMinerals_ = 0;
        bitField0_ = (bitField0_ & ~0x00000400);
        cumulativeGas_ = 0;
        bitField0_ = (bitField0_ & ~0x00000800);
        supplyTotal_ = 0;
        bitField0_ = (bitField0_ & ~0x00001000);
        supplyUsed_ = 0;
        bitField0_ = (bitField0_ & ~0x00002000);
        if (allUnitCountBuilder_ == null) {
          allUnitCount_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00004000);
        } else {
          allUnitCountBuilder_.clear();
        }
        if (completedUnitCountBuilder_ == null) {
          completedUnitCount_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00008000);
        } else {
          completedUnitCountBuilder_.clear();
        }
        if (incompleteUnitCountBuilder_ == null) {
          incompleteUnitCount_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00010000);
        } else {
          incompleteUnitCountBuilder_.clear();
        }
        if (deadUnitCountBuilder_ == null) {
          deadUnitCount_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00020000);
        } else {
          deadUnitCountBuilder_.clear();
        }
        if (killedUnitCountBuilder_ == null) {
          killedUnitCount_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00040000);
        } else {
          killedUnitCountBuilder_.clear();
        }
        if (upgradeLevelsBuilder_ == null) {
          upgradeLevels_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00080000);
        } else {
          upgradeLevelsBuilder_.clear();
        }
        if (researchedTechsBuilder_ == null) {
          researchedTechs_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00100000);
        } else {
          researchedTechsBuilder_.clear();
        }
        if (researchingBuilder_ == null) {
          researching_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00200000);
        } else {
          researchingBuilder_.clear();
        }
        if (upgradingBuilder_ == null) {
          upgrading_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00400000);
        } else {
          upgradingBuilder_.clear();
        }
        self_ = false;
        bitField0_ = (bitField0_ & ~0x00800000);
        victorious_ = false;
        bitField0_ = (bitField0_ & ~0x01000000);
        defeated_ = false;
        bitField0_ = (bitField0_ & ~0x02000000);
        return this;
      }