code: public static SpringConfigurationPropertySource from(PropertySource<?> source) {
  		Assert.notNull(source, "Source must not be null");
  		PropertyMapper mapper = getPropertyMapper(source);
  		if (isFullEnumerable(source)) {
  			return new SpringIterableConfigurationPropertySource(
  					(EnumerablePropertySource<?>) source, mapper);
  		}
  		return new SpringConfigurationPropertySource(source, mapper,
  				getContainsDescendantOfForSource(source));
  	}
docs: Create a new {@link SpringConfigurationPropertySource} for the specified
  {@link PropertySource}.
  @param source the source Spring {@link PropertySource}
  @return a {@link SpringConfigurationPropertySource} or
  {@link SpringIterableConfigurationPropertySource} instance