if stack is empty , you should return some kind of error or throw some exceptions imo.
i dont know what those are , but assuming they do the work they are supposed to , AND its an in-place operation , you are returning a reversed version of stack , but its not a copy of the original stack , because the stack itself has been reversed. here is something you can do :
make FancyStack iterable
in your else() condition , have a for() loop that takes in each member of FancyStack() and put that in a new copy.
apply revertStack.push(pop()) to this newly made copy , and return it.
Pyler: it seems to me like you have three or four threads about this particular question. it's pretty hard to follow what has already been suggested, if it's spread over several threads. could you please pick one thread, copy all answers to that, and put the others on 'solved'?