Adicionar 2 eventos ItemListener

Galera, ocorreu um probleminha aqui quando eu adicionei em um mesmo combobox 2 eventos ItemListener com implementações diferentes

o que ocorre é o seguinte… eu criei um combobox personalizado que ja possui o evento adicionado e ele exibe uma mesagem na tela “metodo1”

quando eu uso o componente eu adicionei um outro evento ItemListener exibindo a mensagem “metodo2”

e como esse metodo foi o ultimo a ser adicionado ele deveria ser o ultimo a ser executado quando um item fosse selecionado…

só que ele exibe primeiro o “metodo2” e depois o “metodo1”

preciso que ele execute o metodo1 primeiro… =0

Help pls…

Código do componente:

public class MeuComboBox extends JComboBox {

    public MeuComboBox() {
        initialize();
    }

    private void initialize() {
        this.addItemListener(metodo1());
    }

    private ItemListener metodo1() {
        return new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                if (e.getStateChange() == ItemEvent.DESELECTED)
                    System.out.println("metodo1");
            }
        };
    }

}

Codigo da execucao

public class Main {
    /**
     * 
     * @param args
     */
    public static void main(String[] args){

       MeuComboBox combobox = new MeuComboBox();

       combobox.addItem("A");
       combobox.addItem("B");
       combobox.addItem("C");
       combobox.addItem("D");

       combobox.addItemListener(metodo2());

       
       combobox.setSelectedIndex(1);

    }

    private static ItemListener metodo2() {
        return new ItemListener() {
            public void itemStateChanged(ItemEvent e) {
                if (e.getStateChange() == ItemEvent.DESELECTED)
                      System.out.println("metodo2");
            }
        };
    }
}