private boolean isPromotionMove(Square startSquare, Square endSquare) { boolean isPromotionMove = false; Piece piece = board.pieceOn(startSquare); if (piece != null && PieceType.PAWN.equals(piece.pieceType()) && endSquare.inLastRowForColor(piece.color())) { isPromotionMove = true; } return isPromotionMove; }