public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasId()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasName()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTech()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasWhatUses()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDamageAmount()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDamageBonus()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDamageCooldown()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDamageFactor()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasUpgradeType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDamageType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasExplosionType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMinRange()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMaxRange()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasInnerSplashRadius()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMedianSplashRadius()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasOuterSplashRadius()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsAir()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsGround()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsMechanical()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsOrganic()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsNonBuilding()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsNonRobotic()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsTerrain()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsOrgOrMech()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasTargetsOwn()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getTech().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getWhatUses().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!getUpgradeType().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }