/** {@inheritDoc} */
 @Override
 public boolean accept(String className) {
   for (ClassNameFilter filter : mFilters) {
     if (!filter.accept(className)) {
       return false;
     }
   }
   return true;
 }
 /**
  * Gets the names of all entries contained in given apk file, that match given filter.
  *
  * @throws IOException
  */
 private void addEntriesFromApk(Set<String> entryNames, String apkPath, ClassNameFilter filter)
     throws IOException {
   DexFile dexFile = null;
   try {
     dexFile = new DexFile(apkPath);
     Enumeration<String> apkClassNames = getDexEntries(dexFile);
     while (apkClassNames.hasMoreElements()) {
       String apkClassName = apkClassNames.nextElement();
       if (filter.accept(apkClassName)) {
         entryNames.add(apkClassName);
       }
     }
   } finally {
     if (dexFile != null) {
       dexFile.close();
     }
   }
 }