public State stateCreate(Point point) {
		if (currentStep != CREATE_SINGLE_FINAL) {
			outOfOrder();
			return null;
		}
		State[] finals = automaton.getFinalStates();
		drawer.clearSelected();
		for (int i = 0; i < finals.length; i++) {
			automaton.removeFinalState(finals[i]);
			drawer.addSelected(finals[i]);
		}
		State newState = automaton.createState(point);
		automaton.addFinalState(newState);
		frame.repaint();
		nextStep();
		return newState;
	}