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