@Override
  public @NotNull ArrayList<AddArtifactResponse> addArtifacts(@NotNull MavenIndexId indexId, @NotNull ArrayList<File> artifactFiles, MavenToken token) throws MavenServerIndexerException {
    MavenServerUtil.checkToken(token);
    try {
      IndexingContext index = getIndex(indexId);
      ArrayList<AddArtifactResponse> results = new ArrayList<>();
      synchronized (index) {
        for (File artifactFile : artifactFiles) {
          ArtifactContext artifactContext = myArtifactContextProducer.getArtifactContext(index, artifactFile);
          IndexedMavenId id = null;
          if (artifactContext != null) {
            addArtifact(myIndexer, index, artifactContext);
            ArtifactInfo a = artifactContext.getArtifactInfo();
            id = new IndexedMavenId(a.groupId, a.artifactId, a.version, a.packaging, a.description);
          }
          results.add(new AddArtifactResponse(artifactFile, id));
        }
      }
      return results;
    }
    catch (Exception e) {
      throw new MavenServerIndexerException(wrapException(e));
    }
  }
@Override
  public @NotNull ArrayList<AddArtifactResponse> addArtifacts(@NotNull MavenIndexId indexId, @NotNull ArrayList<File> artifactFiles, MavenToken token)