code: def _shutdown_unlocked(self, context, lru=None, new_context=None):
          
          LOG.info('%r._shutdown_unlocked(): shutting down %r', self, context)
          context.shutdown()
          via = self._via_by_context.get(context)
          if via:
              lru = self._lru_by_via.get(via)
              if lru:
                  if context in lru:
                      lru.remove(context)
                  if new_context:
                      lru.append(new_context)
          self._forget_context_unlocked(context)
docs: Arrange for `context` to be shut down, and optionally add `new_context`
          to the LRU list while holding the lock.