/// <summary>
        /// Creates Instance of TransformBlock for async funcs
        /// </summary>
        /// <typeparam name="TInput">Specifies the type of data received by the block</typeparam>
        /// <typeparam name="TOutput">Specifies the type of data output by the block</typeparam>
        /// <param name="transform">transform logic</param>
        /// <returns>TransformBlock</returns>
        public static TransformBlock <TInput, TOutput> CreateInstance <TInput, TOutput>(Func <TInput, Task <TOutput> > transform)
        {
            var transformBlock = new TransformBlock <TInput, TOutput>(transform);

            transformBlock.Log();
            return(transformBlock);
        }