private static void handleMoveType4(PGNMove move, String strippedMove, byte color, byte[][] board) throws PGNParseException {
		byte piece = WHITE_PAWN;
		int fromhPos = getChessATOI(strippedMove.charAt(1));
		int fromvPos = strippedMove.charAt(2) - '1';
		int tohPos = getChessATOI(strippedMove.charAt(3));
		int tovPos = strippedMove.charAt(4) - '1';
		
		if (strippedMove.charAt(0) == PAWN.charAt(0)) {
			piece = (byte)(BLACK_PAWN * color);
		} else if (strippedMove.charAt(0) == KNIGHT.charAt(0)) {
			piece = (byte)(BLACK_KNIGHT * color);
		} else if (strippedMove.charAt(0) == BISHOP.charAt(0)) {
			piece = (byte)(BLACK_BISHOP * color);
		} else if (strippedMove.charAt(0) == ROOK.charAt(0)) {
			piece = (byte)(BLACK_ROOK * color);
		} else if (strippedMove.charAt(0) == QUEEN.charAt(0)) {
			piece = (byte)(BLACK_QUEEN * color);
		} else if (strippedMove.charAt(0) == KING.charAt(0)) {
			piece = (byte)(BLACK_KING * color);
		}
		
		if (fromvPos == - 1 || fromhPos == -1) {
			throw new PGNParseException(move.getFullMove());
		}
		
		if (board[fromhPos][fromvPos] != piece) {
			throw new PGNParseException("Piece does not match");
		}
		
		move.setFromSquare(getChessCoords(fromhPos, fromvPos));
		move.setToSquare(getChessCoords(tohPos, tovPos));
	}