public WorkflowExecutionWizard(
      final IFile workflowFile, WorkflowDescription workflowDescription) {
    serviceRegistryAccess = ServiceRegistry.createPublisherAccessFor(this);
    workflowExecutionService = serviceRegistryAccess.getService(WorkflowExecutionService.class);
    Activator.getInstance().registerUndisposedWorkflowShutdownListener();

    this.inputTabEnabled =
        serviceRegistryAccess
            .getService(ConfigurationService.class)
            .getConfigurationSegment("general")
            .getBoolean(ComponentConstants.CONFIG_KEY_ENABLE_INPUT_TAB, false);

    this.wfFile = workflowFile;

    this.disabledWorkflowNodes =
        WorkflowExecutionUtils.getDisabledWorkflowNodes(workflowDescription);
    this.disabledConnections =
        workflowDescription.removeWorkflowNodesAndRelatedConnections(disabledWorkflowNodes);
    this.wfDescription = workflowDescription;

    nodeIdConfigHelper = new NodeIdentifierConfigurationHelper();
    // cache the local instance for later use
    this.localNodeId = serviceRegistryAccess.getService(PlatformService.class).getLocalNodeId();

    wfDescription.setName(
        WorkflowExecutionUtils.generateDefaultNameforExecutingWorkflow(
            workflowFile.getName(), wfDescription));
    wfDescription.setFileName(workflowFile.getName());

    // set the title of the wizard dialog
    setWindowTitle(Messages.workflowExecutionWizardTitle);
    // display a progress monitor
    setNeedsProgressMonitor(true);

    ColorPalette.getInstance().loadColors();
    serviceRegistryAccess.registerService(DistributedComponentKnowledgeListener.class, this);
  }