question: public Object callReadResolve ( final Object result ) { if ( result == null ) { return null ; } else { final Class < ? extends Object > resultType = result . getClass ( ) ; final Method readResolveMethod = getRRMethod ( resultType , "readResolve" ) ; if ( readResolveMethod != null ) { ErrorWritingException ex = null ; try { return readResolveMethod . invoke ( result ) ; } catch ( final IllegalAccessException e ) { ex = new ObjectAccessException ( "Cannot access method" , e ) ; } catch ( final InvocationTargetException e ) { ex = new ConversionException ( "Failed calling method" , e . getTargetException ( ) ) ; } ex . add ( "method" , resultType . getName ( ) + ".readResolve()" ) ; throw ex ; } else { return result ; } } }
target:  Resolves an object as native serialization does by calling readResolve(), if available.