SubChainSelectorConfig rightSubChainSelectorConfig = secondarySubChainSelectorConfig == null
? subChainSelectorConfig : secondarySubChainSelectorConfig;
SubChainSelector rightSubChainSelector = rightSubChainSelectorConfig.buildSubChainSelector(environmentMode,
solutionDescriptor, entityDescriptor,
minimumCacheType, resolvedSelectionOrder);
return new SubChainSwapMoveSelector(leftSubChainSelector, rightSubChainSelector,
resolvedSelectionOrder == SelectionOrder.RANDOM,
selectReversingMoveToo == null ? true : selectReversingMoveToo);
}