SerializableObjectWrapper implements Serializable { @Override public int hashCode() { return _serializable.hashCode(); } SerializableObjectWrapper(Serializable serializable); static T unwrap(Object object); @Override boolean equals(Object object); @Override int hashCode();  }
@Test public void testHashCode() throws Exception { SerializableObjectWrapper anotherTestSerializableObjectWrapper = new SerializableObjectWrapper(_ANOTHER_TEST_SERIALIZABLE); Assert.assertNotEquals( _testSerializableObjectWrapper.hashCode(), anotherTestSerializableObjectWrapper.hashCode()); SerializableObjectWrapper testSerializableObjectWrapper = new SerializableObjectWrapper(_TEST_SERIALIZABLE); Assert.assertEquals( _testSerializableObjectWrapper.hashCode(), testSerializableObjectWrapper.hashCode()); SerializableObjectWrapper cloneSerializableObjectWrapper = _cloneBySerialization(_testSerializableObjectWrapper); Assert.assertEquals( _testSerializableObjectWrapper.hashCode(), cloneSerializableObjectWrapper.hashCode()); }