@ Override public List getList ( String key , List defaultValue ) { List < Object > list = new ArrayList < Object > ( ) ; // add all elements from the first configuration containing the requested key Iterator < AbstractConfiguration > it = configList . iterator ( ) ; if ( overrideProperties . containsKey ( key ) ) { appendListProperty ( list , overrideProperties , key ) ; } while ( it . hasNext ( ) && list . isEmpty ( ) ) { Configuration config = it . next ( ) ; if ( ( config != containerConfiguration || containerConfigurationChanged ) && config . containsKey ( key ) ) { appendListProperty ( list , config , key ) ; } } // add all elements from the in memory configuration if ( list . isEmpty ( ) ) { appendListProperty ( list , containerConfiguration , key ) ; } if ( list . isEmpty ( ) ) { return defaultValue ; } ListIterator < Object > lit = list . listIterator ( ) ; while ( lit . hasNext ( ) ) { lit . set ( interpolate ( lit . next ( ) ) ) ; } return list ; }
Get a List of objects associated with the given configuration key . If the key doesn t map to an existing object the default value is returned .