Dados compartilhados entre duas caixas de combinação

Eu preciso compartilhar dados entre duas (ou talvez mais) comboboxes, mas eu quero escolher elementos de forma independente. Por exemplo, se eu escolher Object1 no primeiro comboBox, meu segundo ComboBox também escolhe Object1, porque eles têm o mesmo modelo (DefaultComboBoxModel e esse modelo também gerencia os objetos escolhidos). Mas eu não quero esse comportamento. Eu quero escolher objetos em minhas comboBoxes de forma independente. Quando eu escolho objeto no primeiro comboBox meu segundo comboBox não deve mudar.

Neste momento estou pensando em supermodelo para dois modelos. A Supermodel enviará eventos para os submodelos e eles atualizarão os dados das caixas de combinação, mas não o estado. Mas acho que esse não é o melhor caminho.

Existem abordagens mais introspectivas e simples?

Aqui está o código curto para entender o que quero dizer:

package hello;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JComboBox;
public class Comboboxes extends JFrame
{
private JPanel contentPane;
public static void main(String[] args)
{
    EventQueue.invokeLater(new Runnable()
    {
        public void run()
        {
            try
            {
                Comboboxes frame = new Comboboxes();
                frame.setVisible(true);
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    });
}

public Comboboxes()
{
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setBounds(100, 100, 450, 300);
    contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    setContentPane(contentPane);
    contentPane.setLayout(null);

    JComboBox one = new JComboBox();
    one.setBounds(10, 11, 414, 26);
    contentPane.add(one);

    JComboBox two = new JComboBox();
    two.setBounds(10, 52, 414, 26);
    contentPane.add(two);

    DefaultComboBoxModel<String> model = new DefaultComboBoxModel<String>();
    model.addElement("Item 1");
    model.addElement("Item 2");
    model.addElement("Item 3");

    one.setModel(model);
    two.setModel(model);
}
}

questionAnswers(1)

yourAnswerToTheQuestion