docs: def need_rejoin(self):
          """Check whether the group should be rejoined
  
          Returns:
              bool: True if consumer should rejoin group, False otherwise
          """
          if not self._subscription.partitions_auto_assigned():
              return False
  
          if self._auto_assign_all_partitions():
              return False
  
          # we need to rejoin if we performed the assignment and metadata has changed
          if (self._assignment_snapshot is not None
              and self._assignment_snapshot != self._metadata_snapshot):
              return True
  
          # we need to join if our subscription has changed since the last join
          if (self._joined_subscription is not None
              and self._joined_subscription != self._subscription.subscription):
              return True
  
          return super(ConsumerCoordinator, self).need_rejoin()