public void initializeConverter(Automaton automaton) {
		MAP = new HashMap();
		State[] states = automaton.getStates();
		State initialState = automaton.getInitialState();
		// Do the variables.
		VARIABLE = new LinkedList();
		for (char c = 'A'; c <= 'Z'; c++)
			VARIABLE.add("" + c);
		// Map the initial state to S.
		if (initialState != null) {
			VARIABLE.remove(START_VARIABLE);
			MAP.put(initialState, START_VARIABLE);
		}
		// Assign variables to the other states.
		List stateList = new ArrayList(Arrays.asList(states));
		stateList.remove(initialState);
		Collections.sort(stateList, new Comparator() {
			public int compare(Object o1, Object o2) {
				return ((State) o1).getID() - ((State) o2).getID();
			}

			public boolean equals(Object o) {
				return false;
			}
		});
		Iterator it = stateList.iterator();
		while (it.hasNext()) {
			State state = (State) it.next();
			MAP.put(state, VARIABLE.removeFirst());
		}
	}