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

      NexusModel.ArtifactSearchResults results =
        gson.fromJson(HttpRequests.request(toUrl(url, "data_index", prepareParameters(template)))
                        .accept("application/json")
                        .readString(), NexusModel.ArtifactSearchResults.class);

      //boolean tooManyResults = results.isTooManyResults();
      final ArrayList<RepositoryArtifactDescription> result = new ArrayList<>();
      if (results.data != null) {
        for (NexusModel.ArtifactType each : results.data) {
          if (Objects.equals(each.packaging, packaging)) {
            result.add(convertArtifactInfo(each));
          }
        }
      }
      return result;
    }
    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)