public void DoEpsilonTransitions(){
		Boolean goAgain = true;
		while (goAgain){
			goAgain = false;
			for (int i = 0; i < mStates.size(); ++i)
				if (mStates.get(i).mUsed && mEpsilonTransitions.containsKey(mStates.get(i))){
					List<EpsilonTransition> temp = mEpsilonTransitions.get(mStates.get(i));
					for (int j = 0; j < temp.size(); ++j){
						if (!temp.get(j).mNextState.mUsed){
							temp.get(j).mNextState.mUsed = true;
							goAgain = true;
						}
					}
				}
		}
	}