### Question:
MavenId implements Comparable<MavenId>, Cloneable { @Override public boolean equals( Object obj ) { if (this == obj) return true; if (obj instanceof MavenId) { MavenId that = (MavenId)obj; if (!this.groupId.equalsIgnoreCase(that.groupId)) return false; if (!this.artifactId.equalsIgnoreCase(that.artifactId)) return false; if (!this.version.equals(that.version)) return false; if (!this.classifier.equalsIgnoreCase(that.classifier)) return false; return true; } return false; } MavenId( String coordinates );  MavenId( String groupId, String artifactId );  MavenId( String groupId, String artifactId, String version );  MavenId( String groupId, String artifactId, String version, String classifier ); static MavenId[] createClasspath( String commaSeparatedCoordinates ); static MavenId[] createClasspath( String... mavenCoordinates ); static MavenId[] createClasspath( MavenId... mavenIds ); String getGroupId(); String getArtifactId(); String getClassifier(); String getVersion(); String getRelativePath(); String getRelativePath( TextEncoder escapingStrategy ); String getRelativePath( boolean includeVersion ); String getRelativePath( TextEncoder escapingStrategy, boolean includeVersion ); String getCoordinates(); static MavenId createFromCoordinates( String coordinates ); @Override int hashCode(); @Override boolean equals( Object obj ); int compareTo( MavenId that ); @Override String toString(); @Override MavenId clone();  }### Answer:
@Test public void shouldEqualSelf() { assertThat(this.validId.equals(this.validId), is(true)); assertThat(this.validIdWithNullClassifier.equals(this.validIdWithNullClassifier), is(true)); }