/// <summary>
 /// Adds a specialist to the location
 /// </summary>
 /// <param name="specialist">The specialist to add to the location</param>
 public bool AddSpecialist(Specialist specialist)
 {
     if (_specialists.Count < _capacity)
     {
         _specialists.Add(specialist);
         OnAddSpecialist?.Invoke(this, new OnAddSpecialistEventArgs()
         {
             AddedSpecialist = specialist,
             AddedTo         = this,
         });
         return(true);
     }
     return(false);
 }
        /// <summary>
        /// Adds a list of specialists
        /// </summary>
        /// <param name="specialists">A list of specialists to add</param>
        public int AddSpecialists(List <Specialist> specialists)
        {
            var addedSpecialists = 0;

            foreach (Specialist s in specialists)
            {
                if (_specialists.Count < _capacity)
                {
                    addedSpecialists++;
                    _specialists.Add(s);
                    OnAddSpecialist?.Invoke(this, new OnAddSpecialistEventArgs()
                    {
                        AddedSpecialist = s,
                        AddedTo         = this,
                    });
                }
            }

            return(addedSpecialists);
        }