public Builder clear() {
        super.clear();
        frameCount_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        mouseX_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        mouseY_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        screenX_ = 0;
        bitField0_ = (bitField0_ & ~0x00000008);
        screenY_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        if (unitsBuilder_ == null) {
          units_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000020);
        } else {
          unitsBuilder_.clear();
        }
        if (bulletsBuilder_ == null) {
          bullets_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000040);
        } else {
          bulletsBuilder_.clear();
        }
        if (playersBuilder_ == null) {
          players_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000080);
        } else {
          playersBuilder_.clear();
        }
        if (createdUnitsBuilder_ == null) {
          createdUnits_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000100);
        } else {
          createdUnitsBuilder_.clear();
        }
        if (destroyedUnitsBuilder_ == null) {
          destroyedUnits_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000200);
        } else {
          destroyedUnitsBuilder_.clear();
        }
        if (morphedUnitsBuilder_ == null) {
          morphedUnits_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000400);
        } else {
          morphedUnitsBuilder_.clear();
        }
        if (shownUnitsBuilder_ == null) {
          shownUnits_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000800);
        } else {
          shownUnitsBuilder_.clear();
        }
        if (hiddenUnitsBuilder_ == null) {
          hiddenUnits_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00001000);
        } else {
          hiddenUnitsBuilder_.clear();
        }
        if (renegadedUnitsBuilder_ == null) {
          renegadedUnits_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00002000);
        } else {
          renegadedUnitsBuilder_.clear();
        }
        leftplayers_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00004000);
        if (receivedTextsBuilder_ == null) {
          receivedTexts_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00008000);
        } else {
          receivedTextsBuilder_.clear();
        }
        if (selectedUnitsBuilder_ == null) {
          selectedUnits_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00010000);
        } else {
          selectedUnitsBuilder_.clear();
        }
        sentText_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00020000);
        if (nukeDetectBuilder_ == null) {
          nukeDetect_ = org.bwapi.proxy.messages.BasicTypes.Position.getDefaultInstance();
        } else {
          nukeDetectBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00040000);
        paused_ = false;
        bitField0_ = (bitField0_ & ~0x00080000);
        replay_ = false;
        bitField0_ = (bitField0_ & ~0x00100000);
        multiplayer_ = false;
        bitField0_ = (bitField0_ & ~0x00200000);
        gameover_ = false;
        bitField0_ = (bitField0_ & ~0x00400000);
        isWinner_ = false;
        bitField0_ = (bitField0_ & ~0x00800000);
        if (screenPositionBuilder_ == null) {
          screenPosition_ = org.bwapi.proxy.messages.BasicTypes.Position.getDefaultInstance();
        } else {
          screenPositionBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x01000000);
        latency_ = 0;
        bitField0_ = (bitField0_ & ~0x02000000);
        if (dynamicTerrainInfoBuilder_ == null) {
          dynamicTerrainInfo_ = org.bwapi.proxy.messages.TerrainMessages.DynamicTerrainInfo.getDefaultInstance();
        } else {
          dynamicTerrainInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x04000000);
        if (terrainInfoBuilder_ == null) {
          terrainInfo_ = org.bwapi.proxy.messages.TerrainMessages.StaticTerrainInfo.getDefaultInstance();
        } else {
          terrainInfoBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x08000000);
        return this;
      }