public void reverse(Deque<Integer> stack){
        if(stack.size() == 0){
            return;
        }
        int temp = stack.pollFirst();
        reverse(stack);
        
        pushAtBottom(stack,temp);
    }
http://www.geeksforgeeks.org/reverse-a-stack-using-recursion/
src/com/interview/stackqueue/ReverseStackUsingRecursion.java