@Override
    public void constructCache(DefaultSolverScope solverScope) {
        cachedEntityMap = new TreeMap<>();
        ScoreDirector scoreDirector = solverScope.getScoreDirector();
        double probabilityWeightOffset = 0L;
        for (Object entity : childEntitySelector) {
            double probabilityWeight = probabilityWeightFactory.createProbabilityWeight(
                    scoreDirector, entity);
            cachedEntityMap.put(probabilityWeightOffset, entity);
            probabilityWeightOffset += probabilityWeight;
        }
        probabilityWeightTotal = probabilityWeightOffset;
    }
@Override
    public void constructCache(DefaultSolverScope solverScope) {
        cachedEntityMap = new TreeMap<>();
        ScoreDirector scoreDirector = solverScope.getScoreDirector();
        double probabilityWeightOffset = 0L;
        for (Object entity : childEntitySelector) {
            double probabilityWeight = probabilityWeightFactory.createProbabilityWeight(
                    scoreDirector, entity);
            cachedEntityMap.put(probabilityWeightOffset, entity);
            probabilityWeightOffset += probabilityWeight;
        }
        probabilityWeightTotal = probabilityWeightOffset;
    }
@ Override public void constructCache ( DefaultSolverScope solverScope ) { cachedEntityMap = new TreeMap <> ( ) ; ScoreDirector scoreDirector = solverScope . getScoreDirector ( ) ; double probabilityWeightOffset = 0L ; for ( Object entity : childEntitySelector ) { double probabilityWeight = probabilityWeightFactory . createProbabilityWeight ( scoreDirector , entity ) ; cachedEntityMap . put ( probabilityWeightOffset , entity ) ; probabilityWeightOffset += probabilityWeight ; } probabilityWeightTotal = probabilityWeightOffset ; }
************************************************************************
************************************************************************