code: public static boolean containsExclusion(Collection<Exclusion> exclusions, Exclusion exclusion) {
          return Optional.ofNullable(exclusions).orElse(Collections.emptyList())
                  .stream().anyMatch(selectedExclusion ->
                          null != exclusion && selectedExclusion.getGroupId().equals(exclusion.getGroupId()) &&
                                  (selectedExclusion.getArtifactId().equals(exclusion.getArtifactId()) || (selectedExclusion.getArtifactId().equals(ARTIFACT_STAR)))
                  );
      }
docs: Exclusive can be specified by wildcard:
  -- groupId:artifactId:*:*
  -- groupId:*:*:*
  <p>
  And in general, to require a strict match up to the version and the classifier is not necessary
  <p>
  TODO: the correct fix would be to rewrite {@link Exclusion # equals (Object)}, but what about the boundary case:
  If contains (id1: *: *: *, id1: id2: *: *) == true, then that's equals ??
  TODO: there must be useful code in Aether or maven on this topic
  <p>
  
  @param exclusions Collection of exclusions
  @param exclusion  Specific exclusion to search through collection for
  @return boolean