/// <summary>
        ///     Create a topic permission
        /// </summary>
        /// <param name="source"></param>
        /// <param name="topicPermissionInfo">The topic permission to create</param>
        /// <param name="cancellationToken"></param>
        public static void CreateTopicPermission(
            [NotNull] this IManagementClient source,
            [NotNull] TopicPermissionInfo topicPermissionInfo,
            CancellationToken cancellationToken = default
            )
        {
            if (source == null)
            {
                throw new ArgumentNullException(nameof(source));
            }

            source.CreateTopicPermissionAsync(topicPermissionInfo, cancellationToken)
            .GetAwaiter()
            .GetResult();
        }