code: public List<URL> scanBundlesInClassSpace(String directory,
  											 String filePattern, boolean recursive) {
  		Set<Bundle> bundlesInClassSpace = ClassPathUtil.getBundlesInClassSpace(
  				bundleClassLoader.getBundle(), new HashSet<>());
  		List<URL> matching = new ArrayList<>();
  
  		for (Bundle bundle : bundlesInClassSpace) {
  			@SuppressWarnings("rawtypes")
  			Enumeration e = bundle.findEntries(directory, filePattern,
  					recursive);
  			if (e == null) {
  				continue;
  			}
  			while (e.hasMoreElements()) {
  				URL u = (URL) e.nextElement();
  				matching.add(u);
  			}
  		}
  
  		return matching;
  	}
docs: Scans the imported and required bundles for matching resources. Can be
  used to obtain references to TLD files, XML definition files, etc.
  
  @param directory   the directory within the imported/required bundle where to
  perform the lookup (e.g. "META-INF/")
  @param filePattern the file pattern to lookup (e.g. "*.tld")
  @param recursive   indicates whether the lookup should be recursive, i.e. if it
  will drill into child directories
  @return list of matching resources, URLs as returned by the framework's
  {@link Bundle#findEntries(String, String, boolean)} method