Write a method `isPalindrome`

that takes a queue of integers as a parameter and returns `true`

if the numbers in the queue represent a palindrome (and `false`

otherwise). A sequence of numbers is considered a palindrome if it is the same in reverse order. For example, suppose a queue called `q`

stores these values:

front [3, 8, 17, 9, 17, 8, 3] back

Then the call of `isPalindrome(q);`

should return `true`

because this sequence is the same in reverse order. If the queue had instead stored these values:

front [3, 8, 17, 9, 4, 17, 8, 3] back

The call on `isPalindrome`

would instead return `false`

because this sequence is not the same in reverse order (the 9 and 4 in the middle don't match). The empty queue should be considered a palindrome. You may not make any assumptions about how many elements are in the queue and your method must restore the queue so that it stores the same sequence of values after the call as it did before. You may use one stack as auxiliary storage.