code: def _update_table_cache(self):
          
  
          self._table_cache.clear()
          for sel, tab, val in self:
              try:
                  self._table_cache[tab].append((sel, val))
              except KeyError:
                  self._table_cache[tab] = [(sel, val)]
  
          assert len(self) == self._len_table_cache()
docs: Clears and updates the table cache to be in sync with self