void (boolean propagateEvent) { CredentialsType selectedType = getSelectedType(); CardLayout layout = (CardLayout)myTypesPanel.getLayout(); layout.show(myTypesPanel, selectedType.getName()); changeWindowHeightToPreferred(); setBrowseButtonsVisible(myCredentialsType2Handler.get(selectedType).isBrowsingAvailable()); if (propagateEvent) { myStatusPanel.resetState(); // store interpreter path entered for previously selected type String interpreterPath = myInterpreterPathField.getText(); if (StringUtil.isNotEmpty(interpreterPath)) { myCredentialsType2Handler.get(myConnectionType).setInterpreterPath(interpreterPath); } myConnectionType = selectedType; TypeHandler typeHandler = myCredentialsType2Handler.get(myConnectionType); myInterpreterPathField.setText(typeHandler.getInterpreterPath()); typeHandler.onSelected(); } }