private void checkTransitionObject(Object[] action) {
		if (action == null || action.length != 3 || action[0] == null || action[1] == null || action[2] == null
				|| !(action[STATE_POS] instanceof State) || !(action[CHARS_POS] instanceof char[]) || !(action[DIRS_POS] instanceof Direction[])) {
			throw new InvalidTransitionException("Action must be a valid triple of State, char[], Direction[]");
		}

		checkState((State)action[STATE_POS]);
		checkSymbols((char[])action[CHARS_POS]);
	}