code: @Override
      public void setSelection(int position) {
          PickerSpinnerAdapter adapter = (PickerSpinnerAdapter) getAdapter();
          if(position == adapter.getCount()-1 && adapter.hasFooter())
              onFooterClick(); // the footer has been clicked, so don't update the selection
          else {
              // remove any previous temporary selection:
              ((PickerSpinnerAdapter)getAdapter()).selectTemporary(null);
              reselectTemporaryItem = false;
              restoreTemporarySelection = false;
              // check that the selection goes through:
              interceptSelectionCallbacks.clear();
              super.setSelection(position);
              super.setSelection(position, false);
          }
      }
docs: {@inheritDoc}