code: List<String> loadImplementationsInJar(Test test, File file) {
  
          List<String> localClsssOrPkgs = new ArrayList<String>();
          Set<String> packages = jarContentCache.get(file.getPath());
          if (packages == null)
          {
              packages = new HashSet<String>();
              try {
                  JarFile jarFile = new JarFile(file);
  
  
                  for (Enumeration<JarEntry> e = jarFile.entries(); e.hasMoreElements(); ) {
                      JarEntry entry = e.nextElement();
                      String name = entry.getName();
                      if (!entry.isDirectory()) {
                      	if(name.endsWith(SUFFIX_CLASS)){
                      		localClsssOrPkgs.add(name);
                      	}
                       }
                  }
              }
              catch (IOException ioe) {
                  log.error("Could not search jar file '" + file + "' for classes matching criteria: " +
                          test + " due to an IOException" + ioe);
                  return Collections.emptyList();
              }
              finally
              {
                  jarContentCache.put(file.getPath(), packages);
              }
          }
  
          return localClsssOrPkgs;
      }
docs: Finds matching classes within a jar files that contains a folder structure
  matching the package structure.  If the File is not a JarFile or does not exist a warning
  will be logged, but no error will be raised.
  
  @param test    a Test used to filter the classes that are discovered
  @param file the jar file to be examined for classes
  @return List of packages to export.