Play and Stop

E ai galera, blz?

Seguinte, tenho um método recursivo que faz uma busca cega em uma árvore. O problema é o seguinte, num certo ponto do meu método eu preciso dar tipo um “stop” e mostrar a saída, quando a pessoa clicasse no botão “Passo a Passo” o método continuaria apartir do ponto onde parou…

public Nodo buscaRec(Nodo corrente, int max, Pecas p) {
        if (corrente == null || corrente.getProfundidade() > max )
            return null;
        
        if (corrente.isIgual(p.fim)) 
            return corrente;
        
        corrente.generateFilhos();
        
        imprimeFilhos(corrente.getFilhos(),p);
        
        for (int i=0; i < corrente.getFilhos().length; i++) {
            p.addTexto("Jogada escolhida: " + corrente.getFilhos()[i] + "\n\n");

           /*aqui eu gostaria de dar um "stop" e aguardar um evento para continuar .. o evento seria o clique no botão "Passo a Passo" */
            Nodo n = buscaRec(corrente.getFilhos()[i], max, p);
            if (n != null) 
                return n;
            
        }
        return null;
    }

O que eu uso para fazer isso?