@NotNull
  public Collection<Artifact> resolveDependencyAsArtifactStrict(String groupId, String artifactId, String versionConstraint,
                                                                ArtifactKind kind, boolean includeTransitiveDependencies,
                                                                List<String> excludedDependencies) throws Exception {
    List<Artifact> artifacts = new ArrayList<>();
    List<ArtifactRequest> requests = new ArrayList<>();
    Set<VersionConstraint> constraints = Collections.singleton(asVersionConstraint(versionConstraint));
    RepositorySystemSession session = prepareRequests(groupId, artifactId, constraints, kind, includeTransitiveDependencies, excludedDependencies, requests);

    if (!requests.isEmpty()) {
      List<ArtifactResult> resultList = mySessionFactory.retryWithClearSessionData(
        session,
        (s) -> ourSystem.resolveArtifacts(s, requests)
      ).getResult();

      for (ArtifactResult result : resultList) {
        artifacts.add(result.getArtifact());
      }
    }
    return artifacts;
  }
@NotNull
  public Collection<Artifact> resolveDependencyAsArtifactStrict(String groupId, String artifactId, String versionConstraint,
                                                                ArtifactKind kind, boolean includeTransitiveDependencies,
                                                                List<String> excludedDependencies)