class SimpleBigDecimalScoreContext extends ScoreContext<SimpleBigDecimalScore> {

    private final Consumer<BigDecimal> scoreUpdater;

    public SimpleBigDecimalScoreContext(AbstractScoreInliner<SimpleBigDecimalScore> parent, Constraint constraint,
            SimpleBigDecimalScore constraintWeight, Consumer<BigDecimal> scoreUpdater) {
        super(parent, constraint, constraintWeight);
        this.scoreUpdater = scoreUpdater;
    }

    public UndoScoreImpacter changeScoreBy(BigDecimal matchWeight, JustificationsSupplier justificationsSupplier) {<FILL_FUNCTION_BODY>}

}

        BigDecimal impact = constraintWeight.score().multiply(matchWeight);
        scoreUpdater.accept(impact);
        UndoScoreImpacter undoScoreImpact = () -> scoreUpdater.accept(impact.negate());
        if (!constraintMatchEnabled) {
            return undoScoreImpact;
        }
        return impactWithConstraintMatch(undoScoreImpact, SimpleBigDecimalScore.of(impact), justificationsSupplier);
    
<methods>public org.optaplanner.core.api.score.stream.Constraint getConstraint() ,public org.optaplanner.core.api.score.buildin.simplebigdecimal.SimpleBigDecimalScore getConstraintWeight() ,public boolean isConstraintMatchEnabled() <variables>protected final non-sealed org.optaplanner.core.api.score.stream.Constraint constraint,protected final non-sealed boolean constraintMatchEnabled,protected final non-sealed org.optaplanner.core.api.score.buildin.simplebigdecimal.SimpleBigDecimalScore constraintWeight,private final non-sealed AbstractScoreInliner<org.optaplanner.core.api.score.buildin.simplebigdecimal.SimpleBigDecimalScore> parent