public async Task <string> Execute(AddResouceSetParameter addResourceSetParameter)
        {
            var json = addResourceSetParameter == null ? string.Empty : JsonConvert.SerializeObject(addResourceSetParameter);

            _umaServerEventSource.StartToAddResourceSet(json);
            if (addResourceSetParameter == null)
            {
                throw new ArgumentNullException(nameof(addResourceSetParameter));
            }

            var resourceSet = new ResourceSet
            {
                Id      = Guid.NewGuid().ToString(),
                Name    = addResourceSetParameter.Name,
                Uri     = addResourceSetParameter.Uri,
                Type    = addResourceSetParameter.Type,
                Scopes  = addResourceSetParameter.Scopes,
                IconUri = addResourceSetParameter.IconUri
            };

            _resourceSetParameterValidator.CheckResourceSetParameter(resourceSet);
            if (!await _resourceSetRepository.Insert(resourceSet))
            {
                throw new BaseUmaException(ErrorCodes.InternalError,
                                           ErrorDescriptions.TheResourceSetCannotBeInserted);
            }

            _umaServerEventSource.FinishToAddResourceSet(JsonConvert.SerializeObject(resourceSet));
            return(resourceSet.Id);
        }