public LinkToInformation(
            LinkConnector connector,
            DataflowLinkOptions linkOptions,
            System.Action unlink)
        {
            Id          = Guid.NewGuid();
            Connector   = connector;
            LinkOptions = linkOptions;
            _unlink     = unlink;

            PushOffering        = new BindableCollection <OfferMessageTrace>();
            PoolRequest         = new BindableCollection <ConsumeTrace>();
            PushOfferingCounter = new OfferMessageCounters();
            PoolRequestCounters = new ConsumedMessageCounters();
        }
 public BlockInformation(string name,
                         bool isSourceBlock,
                         bool isTargetBlock,
                         string color)
 {
     Commands            = new BindableCollection <GenericCommand>();
     Id                  = Interlocked.Increment(ref _nextId);
     Name                = name;
     Location            = new Location();
     LinksTo             = new BindableCollection <LinkToInformation>();
     _processing         = new BindableCollection <string>();
     IsSourceBlock       = isSourceBlock;
     IsTargetBlock       = isTargetBlock;
     Color               = color;
     PushOfferingCounter = new OfferMessageCounters();
     PushOffering        = new BindableCollection <OfferMessageTrace>();
     PoolRequestCounters = new ConsumedMessageCounters();
     PoolRequest         = new BindableCollection <ConsumeTrace>();
 }