I am a bit confused, button.pick(index);  is not called in this method at all.  As far as I understand, this just retrieves an index of currently selected option and returns it.