protected void checkForRotation(IndexSet indexSet) {
        final IndexSetConfig config = indexSet.getConfig();
        if (indexSet.getConfig().dataTieringConfig() != null) {
            dataTieringOrchestrator.rotate(indexSet);
        } else {
            final Provider<RotationStrategy> rotationStrategyProvider = rotationStrategyMap.get(config.rotationStrategyClass());

            if (rotationStrategyProvider == null) {
                LOG.warn("Rotation strategy \"{}\" not found, not running index rotation!", config.rotationStrategyClass());
                rotationProblemNotification("Index Rotation Problem!",
                        "Index rotation strategy " + config.rotationStrategyClass() + " not found! Please fix your index rotation configuration!");
                return;
            }

            final RotationStrategy rotationStrategy = rotationStrategyProvider.get();

            if (rotationStrategy == null) {
                LOG.warn("No rotation strategy found, not running index rotation!");
                return;
            }

            rotationStrategy.rotate(indexSet);
        }
    }
@Test
    public void testDoNotPerformRotation() throws NoTargetIndexException {
        final Provider<RotationStrategy> provider = new RotationStrategyProvider();

        final IndexRotationThread rotationThread = new IndexRotationThread(
                notificationService,
                indices,
                indexSetRegistry,
                cluster,
                new NullActivityWriter(),
                nodeId,
                ImmutableMap.<String, Provider<RotationStrategy>>builder().put("strategy", provider).build(),
                dataTieringOrchestrator);
        when(indexSetConfig.rotationStrategyClass()).thenReturn("strategy");

        rotationThread.checkForRotation(indexSet);

        verify(indexSet, never()).cycle();
    }