public static async Task <Fund> GetOrCreateFundAsync(this MasterSideLetterDataAccess dataAccess, string name, string sponsorName, string businessUnitName, string strategyName, int?year, decimal?size)
        {
            var existing = await dataAccess.GetFundByNameAsync(name);

            if (existing != null)
            {
                return(existing);
            }
            var newFund = new Fund
            {
                Name             = name,
                SponsorName      = sponsorName,
                BusinessUnitName = businessUnitName,
                StrategyName     = strategyName,
                Year             = year,
                Size             = size
            };

            newFund.Id = await dataAccess.CreateFundAsync(newFund);

            return(newFund);
        }