PropertySourceChangeSupport { public Map<String, PropertyValue> getProperties(){ if(valueMap==null){ return Collections.emptyMap(); } return Collections.unmodifiableMap(valueMap); } PropertySourceChangeSupport(ChangeSupport changeSupport,
                                       PropertySource propertySource); ChangeSupport getChangeSupport(); String getVersion(); void addChangeListener(BiConsumer<Set<String>, PropertySource> l); void removeChangeListener(BiConsumer<Set<String>, PropertySource> l); void removeAllChangeListeners(); long load(Map<String, PropertyValue> properties); PropertyValue getValue(String key); Map<String, PropertyValue> getProperties(); void scheduleChangeMonitor(Supplier<Map<String, PropertyValue>> propertySupplier, long duration, TimeUnit timeUnit); void cancelSchedule();  }
@Test public void getProperties() { PropertySource ps = BuildablePropertySource.builder().withName("test") .withSimpleProperty("foo", "bar").build(); PropertySourceChangeSupport support = new PropertySourceChangeSupport(ChangeSupport.IMMUTABLE, ps); Map properties = support.getProperties(); assertThat(properties).isNotNull(); assertThat(properties).isEmpty(); support.load(ps.getProperties()); properties = support.getProperties(); assertThat(properties).isNotNull(); assertThat(properties).hasSize(1); }