Interação entre as classes Stack e ArrayList

Eu estou fazendo uma atividade que tem como proposta inverter apenas uma parte de uma pilha, então, eu tenho a pilha e tenho uma variável que vai dizer até quantos números quero que sejam embaralhados dentro da pilha, mas não estou conseguindo achar um jeito de “reciclar” aquele elemento removido com o “pop();” o meu código está assim:

public class Inversion {

Stack<Integer> novaPilha = new Stack<Integer>();
List<Integer> listaAux = new ArrayList<Integer>();

public void reverse(int size, Stack<Integer> s, int n) throws IndexOutOfBoundsException {
	
	for(int cont = 0; cont < n; cont++) {
		novaPilha = s;
		novaPilha.pop();	
	}for(int a = 0; a <= n; a++)  {
		listaAux.add(novaPilha.pop());
	}System.out.println("Fila: "+listaAux);
}

}