/// <summary>
 /// Method removing a AnimalsShelter to an existing Queue;
 /// </summary>
 /// <param name="animal"> String either 'cat' or 'dog' to remove from Queue </param>
 /// <returns></returns>
 public AnimalsShelter Dequeue(string animal)
 {
     if (Temp.Value == animal)
     {
         Front     = Front.Next;
         Temp.Next = null;
         return(Temp);
     }
     while (Temp.Next != null)
     {
         if (animal == Temp.Next.Value)
         {
             Temp2      = Temp.Next;
             Temp.Next  = Temp.Next.Next;
             Temp2.Next = null;
             Temp       = Front;
             return(Temp2);
         }
         Temp = Temp.Next;
     }
     Temp      = Front;
     Front     = Front.Next;
     Temp.Next = null;
     return(Temp);
 }
 /// <summary>
 /// Method to add a AnimalsShelter to an existing Queue
 /// </summary>
 /// <param name="animal"> AnimalsShelter class being added to an existing Queue </param>
 public void Enqueue(AnimalsShelter animal)
 {
     Rear.Next = animal;
     Rear      = animal;
 }
 /// <summary>
 /// Default method when declaring the Queue class
 /// </summary>
 /// <param name="animal"></param>
 public Queue(AnimalsShelter animal)
 {
     Front = animal;
     Rear  = animal;
     Temp  = animal;
 }