Source:
<code>public ScenarioSimulationEditorPresenter(final ScenarioSimulationProducer scenarioSimulationProducer, final ScenarioSimulationResourceType type, final PlaceManager placeManager, final TestRunnerReportingPanelWrapper testRunnerReportingPanel, final ScenarioSimulationDocksHandler scenarioSimulationDocksHandler, final TextFileExport textFileExport, final ConfirmPopupPresenter confirmPopupPresenter) { this.view = scenarioSimulationProducer.getScenarioSimulationView(); this.testRunnerReportingPanel = testRunnerReportingPanel; this.scenarioSimulationDocksHandler = scenarioSimulationDocksHandler; this.type = type; this.placeManager = placeManager; this.eventBus = scenarioSimulationProducer.getEventBus(); this.textFileExport = textFileExport; this.confirmPopupPresenter = confirmPopupPresenter; view.init(); undoMenuItem = ScenarioMenuItemFactory.getUndoMenuItem(this::onUndo); redoMenuItem = ScenarioMenuItemFactory.getRedoMenuItem(this::onRedo); scenarioMainGridWidget = view.getScenarioGridWidget(); scenarioMainGridWidget.getScenarioSimulationContext().setScenarioSimulationEditorPresenter(this); scenarioBackgroundGridWidget = scenarioSimulationProducer.getScenarioBackgroundGridWidget(); scenarioBackgroundGridWidget.getScenarioSimulationContext().setScenarioSimulationEditorPresenter(this); <START> scenarioSimulationProducer.setScenarioSimulationEditorPresenter(this); <END> populateTestToolsCommand = createPopulateTestToolsCommand(); scenarioPresenterId = SCENARIO_PRESENTER_COUNTER.getAndIncrement(); }</code><technical_language>@yesamer is correct, I strange order of operations: 1) presenter ask for _ScenarioBackgroundWidget_ _scenarioSimulationProducer_ 2) presenter set _scenarioBackgroundGridWidget.getScenarioSimulationContext().setScenarioSimulationEditorPresenter_ 3) presenter set _scenarioSimulationProducer.setScenarioSimulationEditorPresenter_</technical_language>

Target:
public ScenarioSimulationEditorPresenter(final ScenarioSimulationProducer scenarioSimulationProducer, final ScenarioSimulationResourceType type, final PlaceManager placeManager, final TestRunnerReportingPanelWrapper testRunnerReportingPanel, final ScenarioSimulationDocksHandler scenarioSimulationDocksHandler, final TextFileExport textFileExport, final ConfirmPopupPresenter confirmPopupPresenter) { this.view = scenarioSimulationProducer.getScenarioSimulationView(); this.testRunnerReportingPanel = testRunnerReportingPanel; this.scenarioSimulationDocksHandler = scenarioSimulationDocksHandler; this.type = type; this.placeManager = placeManager; this.eventBus = scenarioSimulationProducer.getEventBus(); this.textFileExport = textFileExport; this.confirmPopupPresenter = confirmPopupPresenter; view.init(); initMenuItems(); scenarioSimulationProducer.setScenarioSimulationEditorPresenter(this); scenarioMainGridWidget = view.getScenarioGridWidget(); scenarioMainGridWidget.getScenarioSimulationContext().setScenarioSimulationEditorPresenter(this); scenarioBackgroundGridWidget = scenarioSimulationProducer.getScenarioBackgroundGridWidget(); scenarioBackgroundGridWidget.getScenarioSimulationContext().setScenarioSimulationEditorPresenter(this); populateTestToolsCommand = createPopulateTestToolsCommand(); scenarioPresenterId = SCENARIO_PRESENTER_COUNTER.getAndIncrement(); }