public final boolean isInitialized() {
        if (!hasMapWidth()) {
          
          return false;
        }
        if (!hasMapHeight()) {
          
          return false;
        }
        if (!hasMapFilename()) {
          
          return false;
        }
        if (!hasMapName()) {
          
          return false;
        }
        if (!hasMapHash()) {
          
          return false;
        }
        for (int i = 0; i < getStaticMineralsCount(); i++) {
          if (!getStaticMinerals(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getStaticGeysersCount(); i++) {
          if (!getStaticGeysers(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getStaticNeutralUnitsCount(); i++) {
          if (!getStaticNeutralUnits(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getUnitTypesCount(); i++) {
          if (!getUnitTypes(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getWeaponsCount(); i++) {
          if (!getWeapons(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getUpgradesCount(); i++) {
          if (!getUpgrades(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getTechsCount(); i++) {
          if (!getTechs(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getRacesCount(); i++) {
          if (!getRaces(i).isInitialized()) {
            
            return false;
          }
        }
        for (int i = 0; i < getStartLocationsCount(); i++) {
          if (!getStartLocations(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }