} // end of NumberSlotAssignString

        #endregion

        //--------------------------------------------------------------------------------------------------
        // Methods
        //--------------------------------------------------------------------------------------------------

        #region AdditionalStaticVisualization

        /// <summary>
        /// Calls base class method and additiona visualization for string captions
        /// </summary>
        /// <param name="initializationTime">Time at which static visualization is generated</param>
        /// <param name="simModel">Simulation model for which the visuslization is generated</param>
        /// <param name="parentControlUnit">Control unit that is visualized</param>
        public override void AdditionalStaticVisualization(DateTime initializationTime, SimulationModel simModel, ControlUnit parentControlUnit)
        {
            base.AdditionalStaticVisualization(initializationTime, simModel, parentControlUnit);

            DrawingObjectString personWaitingforSlotString = new DrawingObjectString(Position - new Vector(0, 50), "Patients Waiting for Slot: ", CustomStringAlignment.Left, 24, Colors.Gray);

            _numberSlotWaitString = new DrawingObjectString(Position - new Vector(-500, 50), "0", CustomStringAlignment.Left, 24, Colors.Gray);

            DrawingSystem.AddObject(personWaitingforSlotString);
            DrawingSystem.AddObject(NumberSlotWaitString);

            DrawingObjectString personWaitingforSlotAssignString = new DrawingObjectString(Position - new Vector(0, 100), "Patients Waiting to be assigned to Slot: ", CustomStringAlignment.Left, 24, Colors.Gray);

            _numberSlotAssingString = new DrawingObjectString(Position - new Vector(-500, 100), "0", CustomStringAlignment.Left, 24, Colors.Gray);

            DrawingSystem.AddObject(NumberSlotAssignString);
            DrawingSystem.AddObject(personWaitingforSlotAssignString);
        } // end of AdditionalStaticVisualization
        /// <summary>
        /// Basic constructor, geometry outline (a rectangle) and caption is created
        /// </summary>
        /// <param name="correspondingEntity">Corresponding waiting facility</param>
        /// <param name="startPosition">Poistion of waiting facility</param>
        /// <param name="size">Size of waiting facility</param>
        /// <param name="personSize">Visualization height of persons</param>
        /// <param name="color">Color in which facility is displayed</param>
        public DrawDynamicHoldingEntity(Entity correspondingEntity,
                                        Point startPosition,
                                        Size size,
                                        double personSize,
                                        Color color)
            : base(startPosition, correspondingEntity)
        {
            _size       = size;
            _personSize = personSize;

            double lineSize = personSize / 15;

            Point origin = new Point(0, 0);

            GeometryGroup geometries = new GeometryGroup();

            // outline
            geometries.Children.Add(Geometry.Combine(new RectangleGeometry(new Rect(origin, size), lineSize, lineSize),
                                                     new RectangleGeometry(new Rect(origin + new Vector(lineSize, lineSize), new Size(size.Width - 2 * lineSize, size.Height - 2 * lineSize)), lineSize, lineSize),
                                                     GeometryCombineMode.Exclude,
                                                     Transform.Identity));

            DrawingShape.Data   = geometries;
            DrawingShape.Fill   = new SolidColorBrush(color);
            DrawingShape.Stroke = new SolidColorBrush(color);

            _slotWidth  = PersonSize * 0.5;
            _slotHeight = PersonSize * 1.2;

            _numberPersonHorizontal = (int)(DrawingShape.Data.Bounds.Width / SlotWidth);
            _numberPersonVertical   = (int)(DrawingShape.Data.Bounds.Height / SlotHeight);

            _drawPerdsonCount = new DrawingObjectString(startPosition + new Vector(DrawingShape.Data.Bounds.Width / 2 + (PersonSize * 5) / 6, DrawingShape.Data.Bounds.Height / 2 + (PersonSize * 5) / 6),
                                                        "0",
                                                        CustomStringAlignment.Center,
                                                        (int)(PersonSize * 5) / 6,
                                                        Colors.Gray);
        } // end of Constructor