@Override
    public void setWorkingSolution(Solution_ workingSolution) {
        super.setWorkingSolution(workingSolution);
        if (incrementalScoreCalculator instanceof ConstraintMatchAwareIncrementalScoreCalculator) {
            ((ConstraintMatchAwareIncrementalScoreCalculator<Solution_>) incrementalScoreCalculator)
                    .resetWorkingSolution(workingSolution, constraintMatchEnabledPreference);
        } else {
            incrementalScoreCalculator.resetWorkingSolution(workingSolution);
        }
    }
@Override
    public void setWorkingSolution(Solution_ workingSolution) {
        super.setWorkingSolution(workingSolution);
        if (incrementalScoreCalculator instanceof ConstraintMatchAwareIncrementalScoreCalculator) {
            ((ConstraintMatchAwareIncrementalScoreCalculator<Solution_>) incrementalScoreCalculator)
                    .resetWorkingSolution(workingSolution, constraintMatchEnabledPreference);
        } else {
            incrementalScoreCalculator.resetWorkingSolution(workingSolution);
        }
    }
@ Override public void setWorkingSolution ( Solution_ workingSolution ) { super . setWorkingSolution ( workingSolution ) ; if ( incrementalScoreCalculator instanceof ConstraintMatchAwareIncrementalScoreCalculator ) { ( ( ConstraintMatchAwareIncrementalScoreCalculator < Solution_ > ) incrementalScoreCalculator ) . resetWorkingSolution ( workingSolution , constraintMatchEnabledPreference ) ; } else { incrementalScoreCalculator . resetWorkingSolution ( workingSolution ) ; } }
************************************************************************
************************************************************************