Acessar o JFrame pai apartir do JInternalFrame Filho

eu tenho um JFrame (Father) que dá origem a um JInternalFrame (BottomFrame). Em um determinado evento de janela eu consigo acessar da minha classe BottomFrame a classe Father da seguinte forma:

addInternalFrameListener(new InternalFrameAdapter() {
  @Override
  public void internalFrameClosing(InternalFrameEvent ife) {
  Father f = (Father) BottomFrame.this.getTopLevelAncestor();
  System.out.println(f.arguments); // onde arguments é um atributo de father.
  }
}

Porém, quando eu tento acessar a Classe Father da mesma maneira em outro lugar do código da erro de ponteiro nulo

 public void test(){
          Father f = (Father) BottomFrame.this.getTopLevelAncestor();
           System.out.println(f.arguments);
   }

Alguém sabe o motivo?

Bom, eu consegui acessar meu pai criando um metodo na classe filha chamando como parametro o pai… não sei se essa eh a melhor saida, mas aparentemente funcionou… se alguem tiver uma outra solução, postem ai:

public void whoIsMyFather(Father father){
   this.father=father;
   System.out.println(father.getArguments());
}

public class Father extends JFrame {
 public void adicionarOutroFrame() {
                frm2.whoIsMyFather(this);
		add(frm2);
		frm2.toFront();
	}