public static CommandRegistryItem Parse(dynamic request, string operationId, string partitionKey, CancellationToken token = default)
        {
            var item = new CommandRegistryItem
            {
                OperationId                = $"{operationId}",
                PartitionKey               = partitionKey,
                Request                    = JsonConvert.SerializeObject(request),
                Key                        = request.Key,
                SideEffects                = string.Join(",", request.SideEffects),
                RequestDotNetType          = request.GetType().AssemblyQualifiedName,
                CancellationToken          = token,
                hasAllowAnonymousAttribute = Attribute.GetCustomAttribute(request.GetType(), typeof(AllowAnonymousAttribute)) != null
            };

            return(item);
        }
 public bool ConflictsWith(CommandRegistryItem request)
 => request.SideEffects.Split(',')
 .Intersect(SideEffects.Split(',')).Any() &&
 !string.IsNullOrEmpty(SideEffects);