code: public static boolean isRetryable(KeeperException e) {
      Objects.requireNonNull(e);
  
      switch (e.code()) {
        case CONNECTIONLOSS:
        case SESSIONEXPIRED:
        case SESSIONMOVED:
        case OPERATIONTIMEOUT:
          return true;
  
        case RUNTIMEINCONSISTENCY:
        case DATAINCONSISTENCY:
        case MARSHALLINGERROR:
        case BADARGUMENTS:
        case NONODE:
        case NOAUTH:
        case BADVERSION:
        case NOCHILDRENFOREPHEMERALS:
        case NODEEXISTS:
        case NOTEMPTY:
        case INVALIDCALLBACK:
        case INVALIDACL:
        case AUTHFAILED:
        case UNIMPLEMENTED:
  
        // These two should not be encountered - they are used internally by ZK to specify ranges
        case SYSTEMERROR:
        case APIERROR:
  
        case OK: // This is actually an invalid ZK exception code
  
        default:
          return false;
      }
    }
docs: Returns true if the given exception indicates an error that can be resolved by retrying the
  operation without modification.
  
  @param e the exception to check
  @return true if the causing operation is strictly retryable