class PollingConfigMapChangeDetector extends ConfigurationChangeDetector {

	protected Log log = LogFactory.getLog(getClass());

	private final PropertySourceLocator propertySourceLocator;

	private final Class<? extends MapPropertySource> propertySourceClass;

	private final TaskScheduler taskExecutor;

	private final long period;

	private final boolean monitorConfigMaps;

	public PollingConfigMapChangeDetector(AbstractEnvironment environment, ConfigReloadProperties properties,
			ConfigurationUpdateStrategy strategy, Class<? extends MapPropertySource> propertySourceClass,
			PropertySourceLocator propertySourceLocator, TaskScheduler taskExecutor) {
		super(environment, properties, strategy);
		this.propertySourceLocator = propertySourceLocator;
		this.propertySourceClass = propertySourceClass;
		this.taskExecutor = taskExecutor;
		this.period = properties.period().toMillis();
		this.monitorConfigMaps = properties.monitoringConfigMaps();
	}

	@PostConstruct
	private void init() {
		log.info("Kubernetes polling configMap change detector activated");
		PeriodicTrigger trigger = new PeriodicTrigger(Duration.ofMillis(period));
		trigger.setInitialDelay(Duration.ofMillis(period));
		taskExecutor.schedule(this::executeCycle, trigger);
	}

	private void executeCycle() {<FILL_FUNCTION_BODY>}

}


		boolean changedConfigMap = false;
		if (monitorConfigMaps) {
			log.debug("Polling for changes in config maps");
			List<? extends MapPropertySource> currentConfigMapSources = findPropertySources(propertySourceClass,
					environment);

			if (!currentConfigMapSources.isEmpty()) {
				changedConfigMap = changed(locateMapPropertySources(this.propertySourceLocator, this.environment),
						currentConfigMapSources);
			}
		}

		if (changedConfigMap) {
			log.info("Detected change in config maps");
			reloadProperties();
		}
	
<methods>public void <init>(org.springframework.core.env.ConfigurableEnvironment, ConfigReloadProperties, ConfigurationUpdateStrategy) ,public void reloadProperties() <variables>private static final org.springframework.core.log.LogAccessor LOG,protected org.springframework.core.env.ConfigurableEnvironment environment,protected ConfigReloadProperties properties,protected ConfigurationUpdateStrategy strategy