@Override
    public MoveSelector buildBaseMoveSelector(HeuristicConfigPolicy configPolicy,
            SelectionCacheType minimumCacheType, boolean randomSelection) {
        if (moveIteratorFactoryClass == null) {
            throw new IllegalArgumentException("The moveIteratorFactoryConfig (" + this
                    + ") lacks a moveListFactoryClass (" + moveIteratorFactoryClass + ").");
        }
        MoveIteratorFactory moveIteratorFactory = ConfigUtils.newInstance(this,
                "moveIteratorFactoryClass", moveIteratorFactoryClass);
        ConfigUtils.applyCustomProperties(moveIteratorFactory, "moveIteratorFactoryClass",
                moveIteratorFactoryCustomProperties, "moveIteratorFactoryCustomProperties");
        return new MoveIteratorFactoryToMoveSelectorBridge(moveIteratorFactory, randomSelection);
    }
@Override
    public MoveSelector buildBaseMoveSelector(HeuristicConfigPolicy configPolicy,
            SelectionCacheType minimumCacheType, boolean randomSelection) {
        if (moveIteratorFactoryClass == null) {
            throw new IllegalArgumentException("The moveIteratorFactoryConfig (" + this
                    + ") lacks a moveListFactoryClass (" + moveIteratorFactoryClass + ").");
        }
        MoveIteratorFactory moveIteratorFactory = ConfigUtils.newInstance(this,
                "moveIteratorFactoryClass", moveIteratorFactoryClass);
        ConfigUtils.applyCustomProperties(moveIteratorFactory, "moveIteratorFactoryClass",
                moveIteratorFactoryCustomProperties, "moveIteratorFactoryCustomProperties");
        return new MoveIteratorFactoryToMoveSelectorBridge(moveIteratorFactory, randomSelection);
    }
@ Override public MoveSelector buildBaseMoveSelector ( HeuristicConfigPolicy configPolicy , SelectionCacheType minimumCacheType , boolean randomSelection ) { if ( moveIteratorFactoryClass == null ) { throw new IllegalArgumentException ( "The moveIteratorFactoryConfig (" + this + ") lacks a moveListFactoryClass (" + moveIteratorFactoryClass + ")." ) ; } MoveIteratorFactory moveIteratorFactory = ConfigUtils . newInstance ( this , "moveIteratorFactoryClass" , moveIteratorFactoryClass ) ; ConfigUtils . applyCustomProperties ( moveIteratorFactory , "moveIteratorFactoryClass" , moveIteratorFactoryCustomProperties , "moveIteratorFactoryCustomProperties" ) ; return new MoveIteratorFactoryToMoveSelectorBridge ( moveIteratorFactory , randomSelection ) ; }
************************************************************************
************************************************************************