protected void fillMap() {
		State[] states = automaton.getStates();
		for (int i = 0; i < states.length; i++) {
			Production[] prods = getProductions(states[i]);
			if (prods.length == 0)
				continue;
			objectToProduction.put(states[i], prods);
			for (int j = 0; j < prods.length; j++)
				productionToObject.put(prods[j], states[i]);
		}
		// Now let's get the other cannon!
		Transition[] transitions = automaton.getTransitions();
		for (int i = 0; i < transitions.length; i++) {
			Production[] prods = getProductions(transitions[i]);
			if (prods.length == 0)
				continue;
			objectToProduction.put(transitions[i], prods);
			for (int j = 0; j < prods.length; j++)
				productionToObject.put(prods[j], transitions[i]);
		}
	}