SerializableObjectWrapper implements Serializable { @Override public boolean equals(Object object) { if (this == object) { return true; } if (!(object instanceof SerializableObjectWrapper)) { return false; } SerializableObjectWrapper serializableWrapper = (SerializableObjectWrapper)object; return _serializable.equals(serializableWrapper._serializable); } SerializableObjectWrapper(Serializable serializable); static T unwrap(Object object); @Override boolean equals(Object object); @Override int hashCode();  }
@Test public void testEquals() throws Exception { Assert.assertNotEquals( _testSerializableObjectWrapper, _TEST_SERIALIZABLE); Assert.assertNotEquals( _testSerializableObjectWrapper, new SerializableObjectWrapper(_ANOTHER_TEST_SERIALIZABLE)); Assert.assertEquals( _testSerializableObjectWrapper, _testSerializableObjectWrapper); Assert.assertEquals( _testSerializableObjectWrapper, new SerializableObjectWrapper(_TEST_SERIALIZABLE)); Assert.assertEquals( _testSerializableObjectWrapper, _cloneBySerialization(_testSerializableObjectWrapper)); Assert.assertEquals( _cloneBySerialization(_testSerializableObjectWrapper), _testSerializableObjectWrapper); Assert.assertEquals( _cloneBySerialization(_testSerializableObjectWrapper), _cloneBySerialization(_testSerializableObjectWrapper)); }