private boolean arePiecesBetweenSourceAndTarget(int sourceRow, int sourceColumn,
            int targetRow, int targetColumn, int rowIncrementPerStep, int columnIncrementPerStep) {

        int currentRow = sourceRow + rowIncrementPerStep;
        int currentColumn = sourceColumn + columnIncrementPerStep;
        while (true) {
            if (currentRow == targetRow && currentColumn == targetColumn) {
                break;
            }
            if (currentRow < Figure.ROW_1 || currentRow > Figure.ROW_8
                    || currentColumn < Figure.COLUMN_A || currentColumn > Figure.COLUMN_H) {
                break;
            }

            if (this.game.isNonCapturedFigureAt(currentRow, currentColumn)) {
                System.out.println("Warning #13: Figures in between source and target.");
                return true;
            }

            currentRow += rowIncrementPerStep;
            currentColumn += columnIncrementPerStep;
        }
        return false;
    }