docs: private void maybeReopenStream(Throwable throwable) {
      if (isActive.get() && !isPermanentError(throwable)) {
        if (isResourceExhaustedError(throwable)) {
          nextAttempt = backoff.createNextAttempt(nextAttempt);
        }
  
        changeMap.clear();
        resetStream();
      } else {
        closeStream(throwable);
      }
    }