private static boolean validateMove(PGNMove move) {
		String strippedMove = move.getMove();
		
		if (move.isCastle()) {
			return true;
		} else if (move.isEndGameMarked()) {
			return true;
		} else if (strippedMove.length() == MOVE_TYPE_1_LENGTH) {
			return strippedMove.matches(MOVE_TYPE_1_RE);
		} else if (strippedMove.length() == MOVE_TYPE_2_LENGTH) {
			return strippedMove.matches(MOVE_TYPE_2_RE) || strippedMove.matches(MOVE_TYPE_5_RE);
		} else if (strippedMove.length() == MOVE_TYPE_3_LENGTH) {
			return strippedMove.matches(MOVE_TYPE_3_RE) || strippedMove.matches(MOVE_TYPE_6_RE);
		} else if (strippedMove.length() == MOVE_TYPE_4_LENGTH) {
			return strippedMove.matches(MOVE_TYPE_4_RE);
		}
		
		return false;
	}