### Question:
ModifyDnRequestImpl extends AbstractAbandonableRequest implements ModifyDnRequest { @Override public int hashCode() { int hash = 37; if ( name != null ) { hash = hash * 17 + name.hashCode(); } hash = hash * 17 + ( deleteOldRdn ? 0 : 1 ); if ( newRdn != null ) { hash = hash * 17 + newRdn.hashCode(); } if ( newSuperior != null ) { hash = hash * 17 + newSuperior.hashCode(); } hash = hash * 17 + super.hashCode(); return hash; } ModifyDnRequestImpl(); @Override boolean getDeleteOldRdn(); @Override ModifyDnRequest setDeleteOldRdn( boolean deleteOldRdn ); @Override boolean isMove(); @Override Dn getName(); @Override ModifyDnRequest setName( Dn name ); @Override Rdn getNewRdn(); @Override ModifyDnRequest setNewRdn( Rdn newRdn ); @Override Dn getNewSuperior(); @Override ModifyDnRequest setNewSuperior( Dn newSuperior ); @Override ModifyDnRequest setMessageId( int messageId ); @Override ModifyDnRequest addControl( Control control ); @Override ModifyDnRequest addAllControls( Control[] controls ); @Override ModifyDnRequest removeControl( Control control ); @Override MessageTypeEnum getResponseType(); @Override ModifyDnResponse getResultResponse(); @Override int hashCode(); @Override boolean equals( Object obj ); @Override String toString();  }### Answer:
@Test public void testHashCodeExactCopy0() { ModifyDnRequestImpl req0 = getRequest(); ModifyDnRequestImpl req1 = getRequest(); assertTrue( req0.hashCode() == req1.hashCode() ); }