code: @Override
      public MoveSelector buildBaseMoveSelector(HeuristicConfigPolicy configPolicy,
              SelectionCacheType minimumCacheType, boolean randomSelection) {
          EntitySelectorConfig entitySelectorConfig_ = entitySelectorConfig == null ? new EntitySelectorConfig()
                  : entitySelectorConfig;
          EntitySelector entitySelector = entitySelectorConfig_.buildEntitySelector(configPolicy,
                  minimumCacheType, SelectionOrder.fromRandomSelectionBoolean(randomSelection));
          ValueSelectorConfig valueSelectorConfig_ = valueSelectorConfig == null ? new ValueSelectorConfig()
                  : valueSelectorConfig;
          ValueSelector[] valueSelectors = new ValueSelector[K - 1];
          for (int i = 0; i < valueSelectors.length; i++) {
              valueSelectors[i] = valueSelectorConfig_.buildValueSelector(configPolicy,
                      entitySelector.getEntityDescriptor(),
                      minimumCacheType, SelectionOrder.fromRandomSelectionBoolean(randomSelection));
  
          }
          return new KOptMoveSelector(entitySelector, valueSelectors, randomSelection);
      }
docs: ************************************************************************