private static Set findInitial(Automaton a) {
		Set initialized = new HashSet();
		initialized.add(a.getInitialState());
		boolean added = true;
		Transition[] t = a.getTransitions();
		while (added) {
			added = false;
			for (int i = 0; i < t.length; i++)
				if (initialized.contains(t[i].getFromState()))
					added = added || initialized.add(t[i].getToState());
		}
		return initialized;
	}