Source:
<code>public Canvas getCanvas() { boolean newCanvas = this.vLayout == null; if (newCanvas) { this.vLayout = new EnhancedVLayout(); TreeSet<TimeUnit> supportedUnits = new TreeSet<TimeUnit>(); supportedUnits.add(TimeUnit.SECONDS); supportedUnits.add(TimeUnit.MINUTES); timeoutItem = new DurationItem(AbstractOperationScheduleDataSource.Field.TIMEOUT, MSG.view_operationScheduleDetails_field_timeout(), TimeUnit.MILLISECONDS, supportedUnits, false, false); ProductInfo productInfo = CoreGUI.get().getProductInfo(); timeoutItem.setContextualHelp(MSG.widget_resourceFactoryWizard_timeoutHelp(productInfo.getShortName())); DynamicForm timeoutForm = new DynamicForm(); timeoutForm.setFields(timeoutItem); timeoutForm.setMargin(10); vLayout.addMember(timeoutForm); } if (newCanvas || this.startingConfig != wizard.getNewResourceStartingConfiguration()) { final ConfigurationDefinition def = wizard.getNewResourceConfigurationDefinition(); if (def != null) { this.startingConfig = wizard.getNewResourceStartingConfiguration(); if (!newCanvas) { Canvas doomedConfigEditor = this.vLayout.getMember(0); this.vLayout.removeMember(doomedConfigEditor); doomedConfigEditor.destroy(); } this.startingConfig = wizard.getNewResourceStartingConfiguration(); ConfigurationGWTServiceAsync configurationService = GWTServiceLookup.getConfigurationService(); configurationService.getOptionValuesForConfigDefinition(-1, wizard.getParentResource().getId(), def, new AsyncCallback<ConfigurationDefinition>() { public void onSuccess(ConfigurationDefinition result) { createAndAddConfigurationEditor(result); } public void onFailure(Throwable throwable) { createAndAddConfigurationEditor(def); } private void createAndAddConfigurationEditor(ConfigurationDefinition def) { editor = new ConfigurationEditor(def, startingConfig); <START> editor.enableMapValidations(true); <END> editor.setAllPropertiesWritable(true); editor.addPropertyValueChangeListener(ResourceFactoryConfigurationStep.this); wizard.getView().updateButtonEnablement(); vLayout.addMember(editor, 0); } }); } } return vLayout; }</code><technical_language>describe situations want maps validated</technical_language>

Target:
public Canvas getCanvas() { boolean newCanvas = this.vLayout == null; if (newCanvas) { this.vLayout = new EnhancedVLayout(); TreeSet<TimeUnit> supportedUnits = new TreeSet<TimeUnit>(); supportedUnits.add(TimeUnit.SECONDS); supportedUnits.add(TimeUnit.MINUTES); timeoutItem = new DurationItem(AbstractOperationScheduleDataSource.Field.TIMEOUT, MSG.view_operationScheduleDetails_field_timeout(), TimeUnit.MILLISECONDS, supportedUnits, false, false); ProductInfo productInfo = CoreGUI.get().getProductInfo(); timeoutItem.setContextualHelp(MSG.widget_resourceFactoryWizard_timeoutHelp(productInfo.getShortName())); DynamicForm timeoutForm = new DynamicForm(); timeoutForm.setFields(timeoutItem); timeoutForm.setMargin(10); vLayout.addMember(timeoutForm); } if (newCanvas || this.startingConfig != wizard.getNewResourceStartingConfiguration()) { final ConfigurationDefinition def = wizard.getNewResourceConfigurationDefinition(); if (def != null) { this.startingConfig = wizard.getNewResourceStartingConfiguration(); if (!newCanvas) { Canvas doomedConfigEditor = this.vLayout.getMember(0); this.vLayout.removeMember(doomedConfigEditor); doomedConfigEditor.destroy(); } this.startingConfig = wizard.getNewResourceStartingConfiguration(); ConfigurationGWTServiceAsync configurationService = GWTServiceLookup.getConfigurationService(); configurationService.getOptionValuesForConfigDefinition(-1, wizard.getParentResource().getId(), def, new AsyncCallback<ConfigurationDefinition>() { public void onSuccess(ConfigurationDefinition result) { createAndAddConfigurationEditor(result); } public void onFailure(Throwable throwable) { createAndAddConfigurationEditor(def); } private void createAndAddConfigurationEditor(ConfigurationDefinition def) { editor = new ConfigurationEditor(def, startingConfig); editor.setAllPropertiesWritable(true); editor.addPropertyValueChangeListener(ResourceFactoryConfigurationStep.this); wizard.getView().updateButtonEnablement(); vLayout.addMember(editor, 0); } }); } } return vLayout; }