private IEnumerable <OperationDescriptor> FilterByIgnoredOperations(TrackedUseCase message)
        {
            var operations = (IEnumerable <OperationDescriptor>)message.Operations;

            var ignoredOperations = operations.Where(x => _operationsRegistry.IsIgnoredOperation(x.OperationIdentity));
            var operationIds      = ignoredOperations.Aggregate(new HashSet <Guid>(), (hashSet, operation) =>
            {
                hashSet.Add(operation.Id);
                hashSet.UnionWith(message.GetNestedOperations(operation.Id).Select(x => x.Id));
                return(hashSet);
            });

            if (operationIds.Any())
            {
                operations = operations.Where(x => !operationIds.Contains(x.Id));
            }

            return(operations);
        }