void (@Nullable Sdk selectedSdk) { if (selectedSdk != null) { updateSdkListAndSelect(selectedSdk); } else { // do not use `getOriginalSelectedSdk()` here since `model` won't find original sdk for selected item due to applying final Sdk currentSelectedSdk = getEditableSelectedSdk(); if (currentSelectedSdk != null && myProjectSdksModel.findSdk(currentSelectedSdk.getName()) != null) { // nothing has been selected but previously selected sdk still exists, stay with it updateSdkListAndSelect(currentSelectedSdk); } else { // nothing has been selected but previously selected sdk removed, switch to `No interpreter` updateSdkListAndSelect(null); } } }