@Override
	public String toString() {
		String output = "";
		if (isStart)
			output += "(START)\t";
		else if (isFinal)
			output += "(FINAL)\t";
		else
			output += "\t";
		for (String key : transitions.keySet()) {
			output += key + "\t";
		}
		output += "\n" + name + "\t";
		for (String key : transitions.keySet()) {
			output += "(";
			for (State state : transitions.get(key)) {
				output += state.name + ",";
			}
			output = output.substring(0, output.length() - 1); // trims trailing
																// comma
			output += ")\t";
		}
		return output + "\n";
	}