public void launch(final File workflowFile, final List<Variable> inheritedVariables) {

		final Workflow workflow;
		try {
			workflow = (Workflow) UNMARSHALLER.unmarshal(workflowFile);
		} catch (final JAXBException e) {
			throw new AzotException(e);
		}

		if (workflow != null)
		{
			final WorkflowStarter workflowStarter = new WorkflowStarter(workflowFile, inheritedVariables, workflow);

			// Asynchrone
			if (isFork()) {
				final Thread workflowThread = new Thread(getWorkflowGroup(), workflowStarter);
				workflowThread.start();    	
			}
			// Synchrone
			else {
				workflowStarter.run();
			}
		}
	}