code: public List<String> filterAddonResources(Addon addon, Predicate<String> filter)
      {
          List<String> discoveredFileNames = new ArrayList<>();
          List<File> addonResources = addon.getRepository().getAddonResources(addon.getId());
          for (File addonFile : addonResources)
          {
              if (addonFile.isDirectory())
                  handleDirectory(filter, addonFile, discoveredFileNames);
              else
                  handleArchiveByFile(filter, addonFile, discoveredFileNames);
          }
          return discoveredFileNames;
      }
docs: Returns a list of files in given addon passing given filter.