}
// ValueSelector uses SelectionOrder.ORIGINAL because a SubChainSelector STEP caches the values
ValueSelector valueSelector = valueSelectorConfig.buildValueSelector(environmentMode,
solutionDescriptor, entityDescriptor,
minimumCacheType, SelectionOrder.ORIGINAL);
return new DefaultSubChainSelector(valueSelector, inheritedSelectionOrder == SelectionOrder.RANDOM,
minimumSubChainSize == null ? DEFAULT_MINIMUM_SUB_CHAIN_SIZE : minimumSubChainSize);
}