protected List<String> propertyNames;
@Override
public String[] getPropertyNames() {
if(propertyNames == null) {
propertyNames = new ArrayList<String>();
Environment env = Environment.getCurrent();
String key = "environments." + env.getName();
for(PropertySource propertySource : source) {
if((propertySource != this) && propertySource instanceof EnumerablePropertySource) {
EnumerablePropertySource enumerablePropertySource = (EnumerablePropertySource)propertySource;
for(String propertyName : enumerablePropertySource.getPropertyNames()) {