protected YamlModelLoaderBase(ISuiteFactory suiteFactory, IEnumerable<IYamlProjectParametersLoader> parametersLoaders, IUserOutput output, IPluginLoader pluginLoader, IEnvironmentVariableContext environmentVariableContext, ISuiteValidator validator)
{
Contract.Requires(suiteFactory != null);
Contract.Requires(output != null);
Contract.Requires(pluginLoader != null);
Contract.Requires(environmentVariableContext != null);
Contract.Requires(validator != null);
Contract.Ensures(this.suiteFactory == suiteFactory);
Contract.Ensures(this.parametersLoaders == parametersLoaders);
this.suiteFactory = suiteFactory;
this.parametersLoaders = parametersLoaders;
this.output = output;
this.pluginLoader = pluginLoader;
this.validator = validator;
versioningEnvironmentVariableContext = new VersioningEnvironmentVariableContext(environmentVariableContext);
parser = new YamlParser();
}