Write a method that accepts a stack containing some elements from the file "Q1.txt" and returns a new stack containing the same elements and in the same order as the original stack. The method should create a new stack. Before the method finishes, it must restore the contents of the original stack to its original state (same contents in the same order). Besides the new stack that the method returns, the only additional data structure that it can use is a single queue.