public async Task <SolutionServiceResult> AddSolutionSet(string guid, TSolution solution, CancellationToken cancellationToken) { if (solution == null) { throw new ArgumentNullException(nameof(solution)); } cancellationToken.ThrowIfCancellationRequested(); await SolutionSet.ClearSolutionMetadaAsync(cancellationToken); if (await SolutionSet.FetchSizeAsync(cancellationToken) > Configuration.MaxSet) { return(SolutionServiceResult.Full); } await SolutionSet.AddSolutionMetadataAsync(guid, solution, cancellationToken); return(SolutionServiceResult.Success); }