/**
   * We handle radio button selections by enabling and disabling various controls. There are only
   * two sources of these events that we care about.
   */
  @Override
  protected void radioButtonSelected(Object source) {
    if (source == existingApplicationRadioButton || source == createNewApplicationRadioButton) {
      boolean isCreatingNewApplication =
          (Boolean) createNewApplicationRadioButtonObservable.getValue();

      existingApplicationCombo.setEnabled(!isCreatingNewApplication);
      newApplicationNameText.setEnabled(isCreatingNewApplication);
      newApplicationDescriptionText.setEnabled(isCreatingNewApplication);
    }
  }
  /** Initializes the page to its default selections */
  private void initializeDefaults() {
    createNewApplicationRadioButtonObservable.setValue(true);
    existingApplicationRadioButton.setSelection(false);
    newApplicationNameTextObservable.setValue("");
    newApplicationDescriptionTextObservable.setValue("");
    newEnvironmentNameTextObservable.setValue("");
    newEnvironmentDescriptionTextObservable.setValue("");
    environmentTypeComboObservable.setValue(ConfigurationOptionConstants.LOAD_BALANCED_ENV);

    if (RegionUtils.isServiceSupportedInCurrentRegion(ServiceAbbreviations.BEANSTALK)) {
      regionCombo.setText(RegionUtils.getCurrentRegion().getName());
      wizardDataModel.setRegion(RegionUtils.getCurrentRegion());
    } else {
      regionCombo.setText(RegionUtils.getRegion(ElasticBeanstalkPlugin.DEFAULT_REGION).getName());
      wizardDataModel.setRegion(RegionUtils.getRegion(ElasticBeanstalkPlugin.DEFAULT_REGION));
    }
    regionChangeListener.widgetSelected(null);

    // Trigger the standard enabled / disabled control logic
    radioButtonSelected(createNewApplicationRadioButton);
  }