class ChangeReferenceLangPresenter extends
        WidgetPresenter<ChangeReferenceLangDisplay> implements
        ChangeReferenceLangDisplay.Listener {

    @Override
    public void onSourceLangListBoxOptionChanged(Locale selectedLocale) {
        if (selectedLocale == Locale.notChosenLocale) {
            userOptionsService.getConfigHolder()
                    .setSelectedReferenceForSourceLang(UserConfigHolder
                    .DEFAULT_SELECTED_REFERENCE);
        } else if (!userOptionsService.getConfigHolder().getState()
                .getSelectedReferenceForSourceLang().equals(selectedLocale
                .getId().getLocaleId().getId())) {
            userOptionsService.getConfigHolder()
                    .setSelectedReferenceForSourceLang(selectedLocale.getId()
                    .getLocaleId().getId());
        }
        eventBus.fireEvent(UserConfigChangeEvent.EDITOR_CONFIG_CHANGE_EVENT);
    }

    @Inject public  ChangeReferenceLangPresenter(ChangeReferenceLangDisplay display,
    EventBus eventBus, CachingDispatchAsync dispatcher,
    UserOptionsService userOptionsService);

}