code: def _update_lru_unlocked(self, new_context, spec, via):
          
          self._via_by_context[new_context] = via
  
          lru = self._lru_by_via.setdefault(via, [])
          if len(lru) < self.max_interpreters:
              lru.append(new_context)
              return
  
          for context in reversed(lru):
              if self._refs_by_context[context] == 0:
                  break
          else:
              LOG.warning('via=%r reached maximum number of interpreters, '
                          'but they are all marked as in-use.', via)
              return
  
          self._shutdown_unlocked(context, lru=lru, new_context=new_context)
docs: Update the LRU ("MRU"?) list associated with the connection described
          by `kwargs`, destroying the most recently created context if the list
          is full. Finally add `new_context` to the list.