Parametro por referência com JDialog

Olá, tenho uma situação que não consigo resolver, assim:

Tenho uma classe ReservaLivro:


class ReservaLivro {
   
   private Livro livro;

   public ReservaLivro() {
       
      JButton btnPLivro = new JButton("...");
		btnPLivro.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				new PesquisarLivro(livro);
				
                               txtFLivro.setText(livro.getNome()); // NullPointerException
			}
		});
   }
}

Quando eu clico no botao de pesquisar livro eu quero passar um livro vazio como parametro para lá dentro da classe PesquisarLivro ele ser preenchido e depois eu uso ele na minha classe de ReservaLivro.

classe Pesquisar Livro:


class PesquisarLivro {

    Livro objLivro;
     
   public PesquisarLivro(Livro objRecebeLivro) {
 
   objLivro = objRecebeLivro;
   JButton btnSelecionar = new JButton("Selecionar");
		btnSelecionar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				acaoSelecionar();
			}
		});


       setModal(true);
       setVisible(true);

  }

 public void acaoSelecionar() {

		Livro livro = livroSelecionado();

		if (livro != null) {
			if (!livro.isLocado()) {
				
                                objLivro = livro;
				acaoSair();
			
                        } else {
				JOptionPane.showMessageDialog(null, "Este livro ja está locado, por favor escolha outro");
			}				
		}	

	}

}

Como faço para o objeto receber o livro pela classe PesquisarLivro e depois usa-lo no ReservarLivro?