class ListComboBoxModel extends AbstractListModel<E> implements MutableComboBoxModel<E> {

    @Override
    public void removeElementAt(int index)
    {
        if (getElementAt(index) == mySelectedObject)
        {
            if (index == 0)
            {
                setSelectedElement(getSize() == 1 ? null : getElementAt(index + 1));
            }
            else
            {
                setSelectedElement(getElementAt(index - 1));
            }
        }

        myObjects.remove(index);

        fireIntervalRemoved(this, index, index);
    }

    public  ListComboBoxModel();
    @SafeVarargs @SuppressWarnings({ "varargs", "PMD.ConstructorCallsOverridableMethod" }) public  ListComboBoxModel(E... items);
    @SuppressWarnings("PMD.ConstructorCallsOverridableMethod") public  ListComboBoxModel(Collection<? extends E> items);
    private  ListComboBoxModel(List<E> items);

}