class KiePMMLScorecardModelCharacteristicASTFactory {

    protected void declareRuleFromCharacteristic(final Characteristic characteristic, final String parentPath,
                                                 final List<KiePMMLDroolsRule> rules,
                                                 final String statusToSet,
                                                 final boolean isLastCharacteristic) {
        logger.trace("declareRuleFromCharacteristic {} {}", characteristic, parentPath);
        String currentRule = String.format(PATH_PATTERN, parentPath, characteristic.getName());
        final List<Attribute> attributes = characteristic.getAttributes();
        for (int i = 0; i < attributes.size(); i++) {
            declareRuleFromAttribute(attributes.get(i), currentRule, i, rules, statusToSet, characteristic.getReasonCode(), characteristic.getBaselineScore(), isLastCharacteristic);
        }
    }

    private  KiePMMLScorecardModelCharacteristicASTFactory(final Map<String, KiePMMLOriginalTypeGeneratedType> fieldTypeMap, final List<KiePMMLOutputField> outputFields, final DATA_TYPE targetType);

}