docs: def increment(self, method=None, url=None, response=None, error=None, _pool=None, _stacktrace=None):
          """ Return a new Retry object with incremented retry counters.
  
          :param response: A response object, or None, if the server did not
              return a response.
          :type response: :class:`~urllib3.response.HTTPResponse`
          :param Exception error: An error encountered during the request, or
              None if the response was received successfully.
  
          :return: A new ``Retry`` object.
          """
          if self.total is False and error:
              # Disabled, indicate to re-raise the error.
              raise six.reraise(type(error), error, _stacktrace)
  
          total = self.total
          if total is not None:
              total -= 1
  
          _observed_errors = self._observed_errors
          connect = self.connect
          read = self.read
          redirect = self.redirect
  
          if error and self._is_connection_error(error):
              # Connect retry?
              if connect is False:
                  raise six.reraise(type(error), error, _stacktrace)
              elif connect is not None:
                  connect -= 1
              _observed_errors += 1
  
          elif error and self._is_read_error(error):
              # Read retry?
              if read is False:
                  raise six.reraise(type(error), error, _stacktrace)
              elif read is not None:
                  read -= 1
              _observed_errors += 1
  
          elif response and response.get_redirect_location():
              # Redirect retry?
              if redirect is not None:
                  redirect -= 1
  
          else:
              # FIXME: Nothing changed, scenario doesn't make sense.
              _observed_errors += 1
  
          new_retry = self.new(
              total=total,
              connect=connect, read=read, redirect=redirect,
              _observed_errors=_observed_errors)
  
          if new_retry.is_exhausted():
              raise MaxRetryError(_pool, url, error)
  
          log.debug("Incremented Retry for (url='%s'): %r" % (url, new_retry))
  
          return new_retry