### Question:
DocumentUserReference implements UserReference { @Override public int hashCode() { return this.reference.hashCode(); } DocumentUserReference(DocumentReference reference, EntityReferenceProvider entityReferenceProvider); DocumentReference getReference(); @Override boolean isGlobal(); @Override int hashCode(); @Override boolean equals(Object object); @Override String toString();  }### Answer:
@Test void identity() { DocumentUserReference reference1 = new DocumentUserReference(new DocumentReference("wiki1", "space1", "page1"), null); DocumentUserReference reference2 = new DocumentUserReference(new DocumentReference("wiki2", "space2", "page2"), null); assertEquals(reference1, reference1); assertNotEquals(reference2, reference1); assertNotEquals(reference1, null); assertNotEquals(reference1, "whatever"); assertEquals(reference1.hashCode(), reference1.hashCode()); assertNotEquals(reference2.hashCode(), reference1.hashCode()); }