### Question:
MavenCoordinatesImpl implements MavenCoordinates, Serializable { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } MavenCoordinatesImpl that = (MavenCoordinatesImpl) o; return Objects.equal(groupId, that.groupId) && Objects.equal(artifactId, that.artifactId) && Objects.equal(version, that.version) && Objects.equal(packaging, that.packaging) && Objects.equal(classifier, that.classifier); } MavenCoordinatesImpl(
            @NonNull String groupId,
            @NonNull String artifactId,
            @NonNull String version);  MavenCoordinatesImpl(
            @NonNull String groupId,
            @NonNull String artifactId,
            @NonNull String version,
            @Nullable String packaging,
            @Nullable String classifier); @NonNull @Override String getGroupId(); @NonNull @Override String getArtifactId(); @NonNull @Override String getVersion(); @NonNull @Override String getPackaging(); @Nullable @Override String getClassifier(); boolean compareWithoutVersion(@NonNull MavenCoordinates coordinates); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString(); @NonNull @Override String getVersionlessId();  }### Answer:
@Test public void equals() throws Exception { EqualsVerifier.forClass(MavenCoordinatesImpl.class) .withCachedHashCode("hashCode", "computeHashCode", new MavenCoordinatesImpl("foo", "bar", "1.2", "jar", "jar")) .withIgnoredFields("toString", "versionLessId") .verify(); }