class NamingExceptionRetryHandler extends ExceptionRetryHandler {

    @Override
    public Object perform() throws NamingException {
        try {
            return super.perform();
        } catch (RuntimeException ex) {
            throw ex;
        } catch (Exception ex) {
            // Should only ever be a NamingException
            throw ((NamingException) ex);
        }
    }

    public  NamingExceptionRetryHandler(Class<?>[] exceptionClasses, ExceptionRetryingProxy proxy,
            RetrySchedule schedule, int maxRetries);

}