@Override
	public Race promptRace(int theme, MOB mob, Session session) throws IOException
	{
		final LoginSessionImpl loginObj=new LoginSessionImpl();
		final PlayerStats pStats=mob.playerStats();
		if(pStats!=null)
			loginObj.acct=pStats.getAccount();
		loginObj.login=mob.Name();
		loginObj.mob=mob;
		loginObj.theme=theme;
		LoginResult res=charcrRaceStart(loginObj, session);
		while((session!=null)&&(!session.isStopped()))
		{
			if(res==LoginResult.INPUT_REQUIRED)
				loginObj.lastInput=session.blockingIn(90000, true);
			if(loginObj.state==LoginState.CHARCR_RACEDONE)
				return mob.baseCharStats().getMyRace();
			if(loginObj.state.toString().startsWith("CHARCR_RACE"))
				res=loginSubsystem(loginObj, session);
			else
				return mob.baseCharStats().getMyRace();
		}
		return mob.baseCharStats().getMyRace();
	}