public void scanArchives(URL... urls) throws IOException {
    URL[] arr$ = urls;
    int len$ = urls.length;

    for (int i$ = 0; i$ < len$; ++i$) {
      URL url = arr$[i$];
      Filter filter =
          new Filter() {
            public boolean accepts(String filename) {
              if (filename.endsWith(".class")) {
                if (filename.startsWith("/") || filename.startsWith("\\")) {
                  filename = filename.substring(1);
                }

                if (!ExtendedAnnotationDB.this.ignoreScan(filename.replace('/', '.'))) {
                  return true;
                }
              }
              return false;
            }
          };
      StreamIterator it = ExtendedIteratorFactory.create(url, filter);

      InputStream stream;
      while ((stream = it.next()) != null) {
        this.scanClass(stream);
      }
    }
  }