question: public static List < String > expandWildcards ( Iterable < File > dirs , List < String > names , Backend forBackend ) { List < String > result = new ArrayList < String > ( names . size ( ) ) ; for ( String name : names ) { expandWildcard ( result , dirs , name , forBackend ) ; } return result ; }
target:  Given a list of source directories and a list of module names that possibly contain wildcards it returns a expanded list of module names of modules that were actually found in the given source directories. Module names that didn't contain wildcards are left alone (it's not checked if they exist or not). If a Backend is passed expanded modules will be checked if they support it (they either don't have a native annotation or it is for the correct backend).