class PollingSecretsChangeDetector 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 monitorSecrets;

	public PollingSecretsChangeDetector(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.monitorSecrets = properties.monitoringSecrets();
	}

	@PostConstruct
	private void init() {
		log.info("Kubernetes polling secrets 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 changedSecrets = false;
		if (monitorSecrets) {
			log.debug("Polling for changes in secrets");
			List<MapPropertySource> currentSecretSources = locateMapPropertySources(this.propertySourceLocator,
					this.environment);
			if (!currentSecretSources.isEmpty()) {
				List<? extends MapPropertySource> propertySources = findPropertySources(propertySourceClass,
						environment);
				changedSecrets = changed(currentSecretSources, propertySources);
			}
		}

		if (changedSecrets) {
			log.info("Detected change in secrets");
			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