void Initialize(float probability1 = 0.0f, float probability2 = 0.0f)
        {
            traficCounter = new TraficCounter();
            generator     = new Generator(1, true);
            processor1    = new Processor(probability1, true);
            queue         = new Queue(1);
            processor2    = new Processor(probability2, true);

            generator.Init(null, processor1, manager: this);
            processor1.Init(generator, queue, manager: this);
            queue.Init(processor1, processor2, null, manager: this);
            processor2.Init(queue, null, traficCounter, manager: this);

            elements.Add(processor2);
            elements.Add(queue);
            elements.Add(processor1);
            elements.Add(generator);


            elementsInverse.Add(generator);
            elementsInverse.Add(processor1);
            elementsInverse.Add(queue);
            elementsInverse.Add(processor2);


            Generator.OnVocationCreated += Generator_OnVocationCreated;
        }
 public virtual void Init(Element sender, Element reciever, TraficCounter counter = null, Manager manager = null)
 {
     IsProcessed   = false;
     this.sender   = sender;
     this.reciever = reciever;
     this.counter  = counter;
     //this.manager = manager;
 }