public IFlockCollection AddBoid(HashSet <IFlockBoid> flock, IFlockBoid boid)
        {
            flock.Add(boid);

            if (!Flocks.Contains(flock))
            {
                Flocks.Add(flock);
            }

            return(this);
        }
        public HashSet <IFlockBoid> GetFlock(IFlockBoid boid)
        {
            foreach (var flock in Flocks)
            {
                if (flock.Contains(boid))
                {
                    return(flock);
                }
            }

            return(null);
        }
        public IFlockCollection RemoveBoid(HashSet <IFlockBoid> flock, IFlockBoid boid)
        {
            flock.Remove(boid);

            return(this);
        }
        public IFlockCollection RemoveBoid(IFlockBoid boid)
        {
            GetFlock(boid).Remove(boid);

            return(this);
        }