class JComboBoxView implements ItemListener {

  private void changed() {
    List<T> list = myList.get();
    T selected = myGet.get();

    myIgnoreEvents = true;
    myCombo.removeAllItems();
    if (list.isEmpty()) {
      // We add a null item so combobox can get its layout updated and width set properly,
      // for the empty message (e.g., "No Connected Devices").
      myCombo.addItem(null);
    } else {
      for (T t : list) {
        myCombo.addItem(t);
      }
    }
    myCombo.setSelectedItem(selected);
    myIgnoreEvents = false;
  }

  public  JComboBoxView(JComboBox<T> combo, AspectModel<A> object, A aspect, Supplier<List<T>> list, Supplier<T> get, Consumer<T> set);

}