def METHOD_NAME(self, *args, **kwargs):
    if self._cache is None:
        self._cache = LRUCache(self._cache_size)
    cache_key = hash(self.gen_key(*args, **kwargs))
    graph = self._cache.get(cache_key)
    # Create graph
    if graph is None:
        self._base_graph._print(
            0,
            0,
            self._base_graph._shallow_repr()
            + " got a new input shape, is compiling a new graph.",
        )
        graph = self._init_and_get_a_graph_in_cache(cache_key)
    return graph