def METHOD_NAME(self, input) -> None:
    """Compute and store a reference to `key`."""
    key = self.key(input)
    name = self.names[key]
    self.populate(name, input)
    self.cache[key] = self.lookup(name)
    # nothing outside of this instance has referenced this key yet, so the
    # refcount is zero
    #
    # in theory it's possible to call store -> delitem which would raise an
    # exception, but in practice this doesn't happen because the only call
    # to store is immediately followed by a call to getitem.
    self.refs[key] = 0