public void Process() { AsyncLocalConfigurations.Target = new FluentTarget(_resolver, _repository); AsyncLocalConfigurations.ConfigurationCompletion = _repository.Process; try { _source.Configure(); AsyncLocalConfigurations.ConfigurationCompletion(); } finally { AsyncLocalConfigurations.Target = null; AsyncLocalConfigurations.ConfigurationCompletion = null; } }