code: def rename_key(self, old_key, new_key):
          
          if new_key in self.referenced_by:
              dbt.exceptions.raise_cache_inconsistent(
                  'in rename of "{}" -> "{}", new name is in the cache already'
                  .format(old_key, new_key)
              )
  
          if old_key not in self.referenced_by:
              return
          value = self.referenced_by.pop(old_key)
          self.referenced_by[new_key] = value
docs: Rename a reference that may or may not exist. Only handles the
          reference itself, so this is the other half of what `rename` does.
  
          If old_key is not in referenced_by, this is a no-op.
  
          :param _ReferenceKey old_key: The old key to be renamed.
          :param _ReferenceKey new_key: The new key to rename to.
          :raises InternalError: If the new key already exists.