awaitility-proxy/src/main/java/org/awaitility/proxy/internal/MethodCaller.java
@SuppressWarnings("unchecked")
    public T call() throws InvocationTargetException, IllegalAccessException {
        try {
            return (T) method.invoke(target, args);
        } catch (IllegalAccessException e) {
            return CheckedExceptionRethrower.safeRethrow(e);
        } catch (InvocationTargetException e) {
            return CheckedExceptionRethrower.safeRethrow(e.getCause());
        }
    }
@SuppressWarnings("unchecked")
    public T call() throws InvocationTargetException, IllegalAccessException {
        try {
            return (T) method.invoke(target, args);
        } catch (IllegalAccessException e) {
            return CheckedExceptionRethrower.safeRethrow(e);
        } catch (InvocationTargetException e) {
            return CheckedExceptionRethrower.safeRethrow(e.getCause());
        }
    }
@ SuppressWarnings ( "unchecked" ) public T call ( ) throws InvocationTargetException , IllegalAccessException { try { return ( T ) method . invoke ( target , args ) ; } catch ( IllegalAccessException e ) { return CheckedExceptionRethrower . safeRethrow ( e ) ; } catch ( InvocationTargetException e ) { return CheckedExceptionRethrower . safeRethrow ( e . getCause ( ) ) ; } }
/*
(non-Javadoc)

@see java.util.concurrent.Callable#call()
/ * ( non - Javadoc )