private void onDelegateException(RuntimeException e){
  if (!isClientOrTransientError(e) || isProtocolViolationError(e)) {
    unrecoverableErrorsOccurred=true;
  }
 else   if (!isAckFailureMuted()) {
    ackFailure();
  }
  if (onError != null) {
    onError.run();
  }
  throw e;
}

private void onDelegateException ( RuntimeException e ) { if ( ! isClientOrTransientError ( e ) || isProtocolViolationError ( e ) ) { unrecoverableErrorsOccurred = true ; } else if ( ! isAckFailureMuted ( ) ) { ackFailure ( ) ; } if ( onError != null ) { onError . run ( ) ; } throw e ; }
if something goes wrong with the delegate , we want to figure out if this " wrong " is something that means the connection is screwed ( and thus should be evicted from the pool ) , or if it ' s something that we can safely recover from .
