List<Artifact> (String groupId, String artifactId, Collection<VersionConstraint> constraints, Set<ArtifactKind> kinds) { if (constraints.isEmpty() || kinds.isEmpty()) { return Collections.emptyList(); } List<Artifact> result = new ArrayList<>(kinds.size() * constraints.size()); for (ArtifactKind kind : kinds) { for (VersionConstraint constraint : constraints) { result.add(new DefaultArtifact(groupId, artifactId, kind.getClassifier(), kind.getExtension(), constraint.toString())); } } return result; }