public Object modifyPrediction(Object prediction) {
        if (!(prediction instanceof Number)) {
            // TODO DROOLS-6345 TargetValue currently unimplemented - only direct number operations allowed
            return prediction;
        }
        double predictionDouble = (double) prediction;
        Number toReturn = applyMin(predictionDouble);
        toReturn = applyMax((double) toReturn);
        toReturn = applyRescaleFactor((double)toReturn);
        toReturn = applyRescaleConstant((double)toReturn);
        toReturn = applyCastInteger((double)toReturn);
        // TODO DROOLS-6345 TargetValue currently unimplemented
        return toReturn;
    }
@Test
    void modifyPrediction() {
        Object object = "STRING";
        TargetField targetField = new TargetField(Collections.emptyList(), null, "string", null, null, null, null,
                                                  null);
        KiePMMLTarget kiePMMLTarget = getBuilder(targetField).build();
        assertThat(kiePMMLTarget.modifyPrediction(object)).isEqualTo(object);
        object = 4.33;
        assertThat(kiePMMLTarget.modifyPrediction(object)).isEqualTo(object);

        targetField = new TargetField(Collections.emptyList(), null, "string", null, 4.34, null, null, null);
        kiePMMLTarget = getBuilder(targetField).build();
        object = "STRING";
        assertThat(kiePMMLTarget.modifyPrediction(object)).isEqualTo(object);
        object = 4.33;
        assertThat(kiePMMLTarget.modifyPrediction(object)).isEqualTo(4.34);
    }