docs: def _purge_index(self, database_name,
                       collection_name=None, index_name=None):
          """Purge an index from the index cache.
  
          If `index_name` is None purge an entire collection.
  
          If `collection_name` is None purge an entire database.
          """
          with self.__index_cache_lock:
              if not database_name in self.__index_cache:
                  return
  
              if collection_name is None:
                  del self.__index_cache[database_name]
                  return
  
              if not collection_name in self.__index_cache[database_name]:
                  return
  
              if index_name is None:
                  del self.__index_cache[database_name][collection_name]
                  return
  
              if index_name in self.__index_cache[database_name][collection_name]:
                  del self.__index_cache[database_name][collection_name][index_name]