@Override
	protected T doSwitch(int classifierID, EObject theEObject) {
		switch (classifierID) {
			case statePackage.PLAYER: {
				Player player = (Player)theEObject;
				T result = casePlayer(player);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case statePackage.STATE: {
				State state = (State)theEObject;
				T result = caseState(state);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case statePackage.COUNTRY_STATE: {
				CountryState countryState = (CountryState)theEObject;
				T result = caseCountryState(countryState);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case statePackage.COUNTRY_TO_COUNTRY_STATE_MAP: {
				@SuppressWarnings("unchecked") Map.Entry<Country, CountryState> countryToCountryStateMap = (Map.Entry<Country, CountryState>)theEObject;
				T result = caseCountryToCountryStateMap(countryToCountryStateMap);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			default: return defaultCase(theEObject);
		}
	}