def METHOD_NAME(self, instance):
    """
    Calls the key_fn with the instance. That is expected to produce a hashable key that will be
    used for indexing in the central cache. Allows sharing the same central cache entry
    between multiple pieces of code (not necessarily properties).
    NOTE key_fn-derived ip keys are not cached, because we don't have a mechanism for
    re-triggering ip key generation. We could implement that via a flag that would be
    reset by a `mathesar.state.reset_reflection()` call. However, key_fn calls are currently
    cheap.
    """
    if self.key_fn is not None:
        ip_key = self.key_fn(instance)
        return ip_key