I modified setSelectedItem to not throw an exception if the object was notfound in the lists' data.
For any item value, or just null? I think null makes sense, though I do think an exception is justified otherwise.
Note that you can set the button data to a value that is not in the list. Maybe that would help?
