@Override
  public @NotNull List<RepositoryArtifactDescription> findArtifacts(@NotNull String url, @NotNull RepositoryArtifactDescription template)
    throws IOException {
    ApplicationManager.getApplication().assertIsNonDispatchThread();
    try {


      final String className = template.getClassNames();
      if (className == null || className.length() == 0) {
        return searchArtifacts(url, template);
      }
      else {
        return searchArchives(url, template);
      }
    }
    catch (JsonSyntaxException e) {
      return Collections.emptyList();
    }
    catch (Exception e) {
      throw new IOException(e);
    }
  }
@Override
  public @NotNull List<RepositoryArtifactDescription> findArtifacts(@NotNull String url, @NotNull RepositoryArtifactDescription template)