@functools.wraps(f)
async def decorated(self: object, *args: Any, **kwargs: Any) -> Any:
    cache = Cache(self, args, kwargs)
    if (not cache.is_cached()):
        to_cache = asyncio.ensure_future(f(self, *args, **kwargs))
        cache.cache_result(to_cache)
    return (await cache.cached_result())
@functools.wraps(f)
async def decorated(self: object, *args: Any, **kwargs: Any) -> Any:
    cache = Cache(self, args, kwargs)
    if (not cache.is_cached()):
        to_cache = asyncio.ensure_future(f(self, *args, **kwargs))
        cache.cache_result(to_cache)
    return (await cache.cached_result())