SerializableObjectWrapper implements Serializable { public static <T> T unwrap(Object object) { if (!(object instanceof SerializableObjectWrapper)) { return (T)object; } SerializableObjectWrapper serializableWrapper = (SerializableObjectWrapper)object; return (T)serializableWrapper._serializable; } SerializableObjectWrapper(Serializable serializable); static T unwrap(Object object); @Override boolean equals(Object object); @Override int hashCode();  }
@Test public void testUnwrap() throws Exception { Assert.assertEquals( _TEST_SERIALIZABLE, SerializableObjectWrapper.unwrap(_testSerializableObjectWrapper)); Assert.assertEquals( _TEST_SERIALIZABLE, SerializableObjectWrapper.unwrap( _cloneBySerialization(_testSerializableObjectWrapper))); Assert.assertEquals( _TEST_SERIALIZABLE, SerializableObjectWrapper.unwrap(_TEST_SERIALIZABLE)); }