Não consigo mudar de Displayable!

Olá amigos!

Sou novato no mundo ME e estou com um probleminha:
Não consigo mudar de displayable.

É o seguinte, eu criei um MIDlet em um arquivo, e em outros criei meus Lists, Forms, etc…

No meu MIDlet, chamado Main, criei um método para selecionar um Displayable que será o atual, dessa forma:

    ...
    public void selectDisplay(int t) {
        display = Display.getDisplay(this);
        switch (t) {
        case Main.MENU_PRINCIPAL: 
            display.setCurrent(new MenuPrincipalList());
            break;
        case Main.MINHA_OUTRA_LIST:
            display.setCurrent(new MinhaOutraList());
            break;
        }
    }
    ...
    public static Main getInstance() { return instance; }
    ...

Dessa forma, os meus ‘Displayables’ mudam entre si chamando o método selectDisplay:

     ...
     // dentro de command ...
     Main.getInstance().selectDisplay(Main.MENU_PRINCIPAL);
     ...

O problema é que apenas na primeira vez que chamo o método selectDisplay ele muda de display!!


Não sei se expliquei bem… mas alguém pode me ajudar?!


Desde já agradeço!

Agora deu certo… mas foi preciso que eu não instanciasse o displayable no momento se setar este como o atual.
Ou seja, o que era assim:

     ...
     public void selectDisplay(int t) {
         display = Display.getDisplay(this);
         switch (t) {
         case Main.MINHA_LIST: 
            display.setCurrent(new MinhaList());
             break;
          ...
          }
     }
     ...

teve que ficar assim:

     ..
     MinhaList minhaList = new MinhaList();
     ..
     public void selectDisplay(int t) {
         display = Display.getDisplay(this);
         switch (t) {
         case Main.MINHA_LIST: 
             display.setCurrent(minhaList);
             break;
          ...
         }
     }    
     ...

E só dessa forma consegui usar o método selectDisplay para trocar de diaplayables.

Mas não sei o porque disso!!
Será que alguém tem algum palpite???

Um abraço!
Lucas