private void drawPiece(Graphics2D g2) {
        if (piece == null) return;
        Pos center = piece.getCenter();
        for (int x = 0; x < piece.getWidth(); x++) {
            for (int y = 0; y < piece.getHeight(); y++) {
                if (piece.get(x, y)) {
                    int cx = x + posX - center.x;
                    int cy = y + posY - center.y;
                    g2.setColor(grid.pieceFits(posX, posY, piece)
                            ? pieceFitColor: pieceColor);
                    g2.fillRect(cx * BLOCK_SIZE, cy * BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE);
                }
            }
        }
    }