@ SuppressWarnings ( "unchecked" ) private static < R , T extends Throwable > R typeErasure ( final Throwable throwable ) throws T { throw ( T ) throwable ; }
Claim a Throwable is another Exception type using type erasure . This hides a checked exception from the java compiler allowing a checked exception to be thrown without having the exception in the method s throw clause .