protected virtual void InitProperties(ISourceBlock <T> block, IBlockInitializer propertySetter)
        {
            var buffer = block as BufferBlock <T>;
            Func <IEnumerable <string> > outputQueueFactory = () => from item in this.OutputQueue()
                                                              select item.ToString();

            propertySetter.SetOutputQueueFactory(outputQueueFactory);

            FieldInfo fieldSource = block.GetType().GetField("m_source", ReflectBlockExtensions.DEFAULT_FLAGS);
            object    source      = fieldSource.GetValue(block);

            PropertyInfo prop =
                _debugInfo.GetType().GetProperty("DataflowBlockOptions", ReflectBlockExtensions.DEFAULT_FLAGS);

            var options = (DataflowBlockOptions)prop.GetValue(_debugInfo);

            propertySetter.SetBlockOptions(options);

            propertySetter.SetIsLinked(IsLinked);

            SetNextMessageIdProperty(source, propertySetter);
            SetTaskForOutputProcessing(propertySetter);

            propertySetter.AddProperty("Is Completed", () => ReflectBlockExtensions.GetIsCompleted(_debugInfo), 61, Colors.WhiteSmoke);
            propertySetter.AddProperty("Declined Permanently", () => ReflectBlockExtensions.GetIsDecliningPermanently(_debugInfo), 62, Colors.WhiteSmoke);
        }
        private void InitProperties(IDataflowBlock block, IBlockInitializer propertySetter)
        {
            propertySetter.SetInputQueueFactory(() => ReflectBlockExtensions.GetInputQueue(_debugInfo));
            propertySetter.SetPostponedMessagesFactory(() => ReflectBlockExtensions.GetProsponedQueue(_debugInfo));

            propertySetter.AddProperty("Current Parallelism", () => ReflectBlockExtensions.GetCurrentDegreeOfParallelism(_debugInfo), 60, Colors.WhiteSmoke);
            propertySetter.AddProperty("Is Completed", () => ReflectBlockExtensions.GetIsCompleted(_debugInfo), 61, Colors.WhiteSmoke);
            propertySetter.AddProperty("Declined Permanently", () => ReflectBlockExtensions.GetIsDecliningPermanently(_debugInfo), 62, Colors.WhiteSmoke);


            propertySetter.SetBlockOptions(ReflectBlockExtensions.GetDataflowBlockOptions(_debugInfo));
        }