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

      if (!hasFrameCount()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMouseX()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMouseY()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasScreenX()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasScreenY()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasPaused()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasReplay()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasMultiplayer()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasScreenPosition()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasLatency()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasDynamicTerrainInfo()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getUnitsCount(); i++) {
        if (!getUnits(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getBulletsCount(); i++) {
        if (!getBullets(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getPlayersCount(); i++) {
        if (!getPlayers(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getCreatedUnitsCount(); i++) {
        if (!getCreatedUnits(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getDestroyedUnitsCount(); i++) {
        if (!getDestroyedUnits(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getMorphedUnitsCount(); i++) {
        if (!getMorphedUnits(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getShownUnitsCount(); i++) {
        if (!getShownUnits(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getHiddenUnitsCount(); i++) {
        if (!getHiddenUnits(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getRenegadedUnitsCount(); i++) {
        if (!getRenegadedUnits(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getReceivedTextsCount(); i++) {
        if (!getReceivedTexts(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      for (int i = 0; i < getSelectedUnitsCount(); i++) {
        if (!getSelectedUnits(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (hasNukeDetect()) {
        if (!getNukeDetect().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      if (!getScreenPosition().isInitialized()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (hasTerrainInfo()) {
        if (!getTerrainInfo().isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }