list.getSelectedIndex returns 0 for an empty list, shouldn't this be
-1 and this should be indicated in the javadoc!
this also causes problem for getSelectedItem because it will request
object at index 0 which does not exist in the model, this method
should check if the index == -1 and return null if it is the case
Microsoft gives you windows, Linux gives you the whole house.