MavenArtifactDescriptor implements Comparable<MavenArtifactDescriptor> { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } MavenArtifactDescriptor that = (MavenArtifactDescriptor) o; if (!groupId.equals(that.groupId)) { return false; } if (!artifactId.equals(that.artifactId)) { return false; } if (version != null ? !version.equals(that.version) : that.version != null) { return false; } if (classifier != null ? !classifier.equals(that.classifier) : that.classifier != null) { return false; } return type.equals(that.type); } private  MavenArtifactDescriptor();  MavenArtifactDescriptor(String groupId, String artifactId, String version);  MavenArtifactDescriptor(String groupId, String artifactId, String type, String classifier, String version); static Builder build(); static MavenArtifactDescriptor fromMscGav(String gav); static MavenArtifactDescriptor fromMavenGav(String gav); @Override int compareTo(MavenArtifactDescriptor that); String groupId(); String artifactId(); String version(); String classifier(); String type(); String mscGav(); ArtifactCoordinates mscCoordinates(); String mavenGav(); String repoPath(boolean forJar); String toString(); @Override boolean equals(Object o); @Override int hashCode();  }
@Test public void testEquals() { MavenArtifactDescriptor left = MavenArtifactDescriptor.build() .groupId("org.wildfly.swarm") .artifactId("fish") .version("1.0").build(); MavenArtifactDescriptor right = MavenArtifactDescriptor.build() .groupId("org.wildfly.swarm") .artifactId("fish") .version("1.0").build(); assertThat(left).isEqualTo(right); }