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

		checkState((State)action[STATE_POS]);
		checkSymbol((Character)action[CHAR_POS]);
	}