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