Konrad Garus opened SPR-12788 and commented
In #16897 CompositePropertySource became EnumerablePropertySource. It doesn't fully satisfy its contract though and it violates Liskov substitution principle.
For example, Spring Boot assumes that EnumerablePropertySource.getPropertyNames contains names of all properties available on the property source. That is not the case with CompositePropertySource containing non-enumerable property sources. See also spring-projects/spring-boot#2608
Affects: 4.1.5
Issue Links:
Referenced from: commits 7e8ffc7