### Question:
DependencyNode { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } DependencyNode that = (DependencyNode) o; return hashCode == that.hashCode && Objects.equals(address, that.address) && Objects.equals(nodeType, that.nodeType) && Objects.equals(dependencies, that.dependencies) && Objects.equals(requestedCoordinates, that.requestedCoordinates); } DependencyNode(
            @NonNull Object address,
            @NonNull NodeType nodeType,
            @NonNull List<DependencyNode> dependencies,
            @Nullable MavenCoordinates requestedCoordinates); @NonNull Object getAddress(); @NonNull NodeType getNodeType(); @Nullable MavenCoordinates getRequestedCoordinates(); @NonNull ImmutableList<DependencyNode> getDependencies(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void equals() throws Exception { EqualsVerifier.forClass(DependencyNode.class) .withRedefinedSuperclass() .withCachedHashCode("hashCode", "computeHashCode", getRedValue()) .withPrefabValues(DependencyNode.class, getRedValue(), getBlackValue()) .suppress(Warning.NULL_FIELDS) .verify(); }