@Override
    public List<String> getList(final String key) {
        return retrieve(new Callable<List<String>>() {
            @Override
            public List<String> call() throws Exception {
                try {
                    return configuration.getStringList(key);
                } catch (ConfigException.WrongType e) {
                    // Not a list.
                    String s = get(key);
                    if (s != null) {
                        return ImmutableList.of(s);
                    } else {
                        throw new IllegalArgumentException("Cannot create a list for the key '" + key + "'", e);
                    }
                }
            }
        }, Collections.<String>emptyList());
    }
@ Override public List < String > getList ( final String key ) { return retrieve ( new Callable < List < String > > ( ) { @ Override public List < String > call ( ) throws Exception { try { return configuration . getStringList ( key ) ; } catch ( ConfigException . WrongType e ) { String s = get ( key ) ; if ( s != null ) { return ImmutableList . of ( s ) ; } else { throw new IllegalArgumentException ( "Cannot create a list for the key '" + key + "'" , e ) ; } } } } , Collections . < String > emptyList ( ) ) ; }
Retrieves the values as a list of String, the format is: key=[myval1,myval2].

@param key the key the key used in the configuration file.
@return an list containing the values of that key or empty if not found.