public async Task <IModel> GetModel(string modelName, CancellationToken ct) { var cachedModel = _cache.Get(modelName); if (cachedModel != null) { return(cachedModel); } var model = _modelLoader.Load(await _metaRepository.GetModel(modelName, ct)); _cache.Put(model); return(model); }