private static boolean isValidKnightMove(Board b, Move m, int opponentColor) {
		try {
			if (b.spaceIsEmpty(m.end) || b.spaceHasOpponent(m.end, opponentColor)) {
				return true;
			}
			return false;
		} catch (IndexOutOfBoundsException e) {
			// Since we're not checking bounds before passing the possible move
			// into this function, we'll just catch it here and return it as
			// not a valid move.
			return false;
		}
	}