class PropertySourceChangeSupport {

    public void scheduleChangeMonitor(Supplier<Map<String, PropertyValue>> propertySupplier, long duration, TimeUnit timeUnit){
        if(changeSupport==ChangeSupport.SUPPORTED) {
            Objects.requireNonNull(propertySupplier);
            scheduleTask = executorService.schedule(() -> {
                load(propertySupplier.get());
            }, duration, timeUnit);
        }
    }

    public  PropertySourceChangeSupport(ChangeSupport changeSupport,
                                       PropertySource propertySource);

}