Buggy code:
public class GradleProjectSettingsControl extends AbstractExternalProjectSettingsControl < GradleProjectSettings > { private static final long BALLOON_DELAY_MILLIS = TimeUnit . SECONDS . toMillis ( 1 ) ; @ NotNull private final Alarm myAlarm = new Alarm ( ThreadToUse . SWING_THREAD ) ; @ NotNull private LocationSettingType myGradleHomeSettingType = LocationSettingType . UNKNOWN ; @ NotNull private final GradleInstallationManager myInstallationManager ; @ SuppressWarnings ( "FieldCanBeLocal" ) private JLabel myGradleHomeLabel ; @ SuppressWarnings ( "FieldCanBeLocal" ) private JLabel myGradleJdkLabel ; private ExternalSystemJdkComboBox myGradleJdkComboBox ; private TextFieldWithBrowseButton myGradleHomePathField ; private JBRadioButton myUseWrapperButton ; private JBRadioButton myUseWrapperWithVerificationButton ; private JBLabel myUseWrapperVerificationLabel ; private JBRadioButton myUseLocalDistributionButton ; private JBRadioButton myUseBundledDistributionButton ; private boolean myShowBalloonIfNecessary ; public GradleProjectSettingsControl ( @ NotNull GradleProjectSettings initialSettings ) { } @ Override protected void fillExtraControls ( @ NotNull PaintAwarePanel content , int indentLevel ) { content . setPaintCallback ( new com . intellij . util . Consumer < Graphics > ( ) { @ Override public void consume ( Graphics graphics ) { showBalloonIfNecessary ( ) ; } } ) ; content . addPropertyChangeListener ( new PropertyChangeListener ( ) { @ Override public void propertyChange ( PropertyChangeEvent evt ) { if ( ! ( "ancestor" . equals ( evt . getPropertyName ( ) ) ) ) { return ; } myShowBalloonIfNecessary = ( ( evt . getNewValue ( ) ) != null ) && ( ( evt . getOldValue ( ) ) == null ) ; if ( ( ( evt . getNewValue ( ) ) == null ) && ( ( evt . getOldValue ( ) ) != null ) ) { myAlarm . cancelAllRequests ( ) ; } } } ) ; myGradleHomeLabel = new JBLabel ( GradleBundle . message ( "gradle.settings.text.home.path" ) ) ; initGradleHome ( ) ; myGradleJdkLabel = new JBLabel ( GradleBundle . message ( "gradle.settings.text.jvm.path" ) ) ; <START_BUG> myGradleJdkComboBox = new ExternalSystemJdkComboBox ( ) ; <END_BUG> initControls ( ) ; content . add ( myUseWrapperButton , ExternalSystemUiUtil . getFillLineConstraints ( indentLevel ) ) ; content . add ( myUseWrapperWithVerificationButton , ExternalSystemUiUtil . getLabelConstraints ( indentLevel ) ) ; content . add ( myUseWrapperVerificationLabel , ExternalSystemUiUtil . getFillLineConstraints ( indentLevel ) ) ; content . add ( myUseLocalDistributionButton , ExternalSystemUiUtil . getFillLineConstraints ( indentLevel ) ) ; content . add ( myGradleHomeLabel , ExternalSystemUiUtil . getLabelConstraints ( indentLevel ) ) ; content . add ( myGradleHomePathField , ExternalSystemUiUtil . getFillLineConstraints ( 0 ) ) ; content . add ( myGradleJdkLabel , ExternalSystemUiUtil . getLabelConstraints ( indentLevel ) ) ; content . add ( myGradleJdkComboBox , ExternalSystemUiUtil . getFillLineConstraints ( 0 ) ) ; } private void initControls ( ) { } private void initGradleHome ( ) { } @ Override public boolean validate ( @ NotNull GradleProjectSettings settings ) throws ConfigurationException { } @ Override protected void applyExtraSettings ( @ NotNull GradleProjectSettings settings ) { } @ Override protected void updateInitialExtraSettings ( ) { } @ Override protected boolean isExtraSettingModified ( ) { } @ Override protected void resetExtraSettings ( boolean isDefaultModuleCreation ) { } public void updateWrapperControls ( @ Nullable String linkedProjectPath , boolean isDefaultModuleCreation ) { } private void deduceGradleHomeIfPossible ( ) { } void showBalloonIfNecessary ( ) { } public void setCurrentProject ( @ Nullable Project project ) { } private void resetGradleJdkComboBox ( @ Nullable final Project project ) { } private class DelayedBalloonInfo implements Runnable { private final MessageType myMessageType ; private final String myText ; private final long myTriggerTime ; DelayedBalloonInfo ( @ NotNull MessageType messageType , @ NotNull LocationSettingType settingType , long delayMillis ) { } @ Override public void run ( ) { } } }

Fix:
myGradleJdkComboBox = new ExternalSystemJdkComboBox ( ) . withoutJre ( ) ;