@ SuppressWarnings ( "unchecked" ) public static < T > T unwrap ( T instance ) { return instance instanceof Decorator ? unwrap ( ( ( Decorator < T > ) instance ) . delegate ) : instance ; }
This method is recursive .