void (@Nullable Object anObject) { if (anObject instanceof SdkListItem) { setSelectedItem(wrapItem((SdkListItem)anObject)); updateEditButton(); return; } if (anObject == null) { SdkListModel innerModel = ((JdkComboBoxModel)getModel()).myInnerModel; SdkListItem candidate = innerModel.findProjectSdkItem(); if (candidate == null) { candidate = innerModel.findNoneSdkItem(); } if (candidate == null) { candidate = myModel.showProjectSdkItem(); } setSelectedItem(candidate); return; } if (anObject instanceof Sdk) { // it is a chance we have a cloned SDK instance from the model here, or an original one // reload model is needed to make sure we see all instances myModel.reloadSdks(); ((JdkComboBoxModel)getModel()).trySelectSdk((Sdk)anObject); return; } if (anObject instanceof InnerComboBoxItem) { SdkListItem item = ((InnerComboBoxItem)anObject).getItem(); if (myModel.executeAction(this, item, newItem -> { setSelectedItem(newItem); if (newItem instanceof SdkItem) { myOnNewSdkAdded.consume(((SdkItem)newItem).sdk); } })) return; } if (anObject instanceof SelectableComboBoxItem) { super.setSelectedItem(anObject); } }