### Question:
JavaDependency extends Dependency { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } if (!super.equals(o)) { return false; } JavaDependency that = (JavaDependency) o; return isLocal == that.isLocal; } JavaDependency(
            @NonNull File artifactFile,
            @NonNull MavenCoordinates coordinates,
            @NonNull String name,
            @Nullable String projectPath);  JavaDependency(@NonNull File artifactFile); private  JavaDependency(
            @NonNull File artifactFile,
            @NonNull MavenCoordinates coordinates,
            @Nullable String name,
            @Nullable String projectPath,
            boolean isLocal); @NonNull @Override File getClasspathFile(); @Nullable @Override List<File> getAdditionalClasspath(); @Override boolean isLocal(); @Override boolean equals(Object o); @Override int hashCode(); @NonNull static MavenCoordinatesImpl getCoordForLocalJar(@NonNull File jarFile); @Override String toString();  }### Answer:
@Test public void equals() throws Exception { EqualsVerifier.forClass(JavaDependency.class) .withRedefinedSuperclass() .withCachedHashCode("hashcode", "computeHashCode", new JavaDependency(new File("foo"))) .suppress(Warning.NULL_FIELDS) .verify(); }