Enlazar triple combobox en java

hola a todos muy buenas noches, estuve checando un programa del combo combinado y la verdad esta muy bien explicado y si me quedo , pero tengo el problema para realizarlo combinado triple, no se como poner la condicion no me queda, segui el ejemplo y ssi lo hace para dos pero para tres ya no y pues lo quisiera hacer para PAIS, ESTADO, PROVINCIA haber si me prodian decir como la condicion porfavor agradeceria de su ayuda

WindowDemoCombo extends javax.swing.JFrame {

    /** Creamos el constructor de la misma */
    public WindowDemoCombo() {
        initComponents();}

    private void initComponents() {
        jPanel1 = new JPanel();
        jLabel1 = new JLabel();
          jLabel2 = new JLabel();
        jLabel3 = new JLabel();
        jComboBox1 = new JComboBox(pais);//creamos el primer combo, y le pasamos un array de cadenas
        jComboBox1.setSelectedIndex(0);//por defecto quiero visualizar el primer item
        jComboBox2 = new JComboBox();//creamo el segundo combo, vacio
        jComboBox2.setEnabled(false);////por defecto q aparesca desabilidado

        setResizable(false);
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(null);
        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Aprendiendo con JComboBox"));
        jPanel1.setLayout(null);
        jLabel1.setText("Pais");
        jPanel1.add(jLabel1);
        jLabel1.setBounds(30, 30, 50, 20);
        jPanel1.add(jComboBox1);
        jComboBox1.setBounds(100, 30, 150, 24);
        jPanel1.add(jComboBox2);
        jComboBox2.setBounds(100, 70, 150, 24);
        jLabel2.setText("Region");
        jPanel1.add(jLabel2);
        jLabel2.setBounds(30, 70, 60, 20);
        getContentPane().add(jPanel1);
        jPanel1.setBounds(10, 50, 370, 110);
        jLabel3.setText("DEMO POR INFORUX");
        getContentPane().add(jLabel3);
        jLabel3.setBounds(120, 20, 170, 20);
        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-412)/2, (screenSize.height-213)/2, 412, 213);

        /*Creamos el objeto controlador, para manejar los eventos*/
        ControlDemoCombo controlDemoCombo = new ControlDemoCombo(this);//le pasamos como argumento esta misma ventana
        jComboBox1.addActionListener(controlDemoCombo);//agregamos escuchas
    }
    public static void main(String args[]) {
                new WindowDemoCombo().setVisible(true);}

    // Desclaramos las variables autilizar
    String [] regionArgentina={"Buenos Aires","Cordova","Santa Cruz"};//array del segundo combo
    String [] regionColombia={"Bogota","Cartagena","Cali"};//array del seguno combo
    String [] regionPeru={"Arequipa","Lima","Piura"};//array del segundo combo
    String [] pais={"Selecione Pais","Argentina","Colombia","Peru"};//array del primer combo
    public JComboBox jComboBox1;
    public JComboBox jComboBox2;
    public JLabel jLabel1;
    private JLabel jLabel2;
    private JLabel jLabel3;
    private JPanel jPanel1;
}
___________________________________________________
import java.awt.event.*;
public class ControlDemoCombo implements ActionListener{
    WindowDemoCombo frameDemoCombo;
    public ControlDemoCombo(WindowDemoCombo objeto){
        frameDemoCombo=objeto;}

    public void actionPerformed(ActionEvent evento)
    {
            if (evento.getSource()==frameDemoCombo.jComboBox1)//pregunta si el evento viene del primer combo
            {/*pregunta si viene del primer elemnto*/
                if (frameDemoCombo.jComboBox1.getSelectedIndex()==0){
                    frameDemoCombo.jComboBox2.removeAllItems();
                    frameDemoCombo.jComboBox2.setEnabled(false);}
            /*pregunta si viene del segundo elemnto*/
                if (frameDemoCombo.jComboBox1.getSelectedIndex()==1){
                    frameDemoCombo.jComboBox2.removeAllItems();
                    for (int i=0; i<frameDemoCombo.regionArgentina.length;i++)
                    frameDemoCombo.jComboBox2.addItem(frameDemoCombo.regionArgentina[i]);
                    frameDemoCombo.jComboBox2.setEnabled(true);}
        /*pregunta si viene del tercer elemnto*/
                if (frameDemoCombo.jComboBox1.getSelectedIndex()==2){
                    frameDemoCombo.jComboBox2.removeAllItems();
                    for (int i=0; i<frameDemoCombo.regionColombia.length;i++)
                    frameDemoCombo.jComboBox2.addItem(frameDemoCombo.regionColombia[i]);
                    frameDemoCombo.jComboBox2.setEnabled(true);}
        /*pregunta si viene del cuarto elemnto*/
                if (frameDemoCombo.jComboBox1.getSelectedIndex()==3){
                    frameDemoCombo.jComboBox2.removeAllItems();
                    for (int i=0; i<frameDemoCombo.regionPeru.length;i++)
                    frameDemoCombo.jComboBox2.addItem(frameDemoCombo.regionPeru[i]);
                    frameDemoCombo.jComboBox2.setEnabled(true);}
            }
    }
}