public PluginCompilationEngine( [NotNull] IStrategiesSourceRepository pluginSourceRepository, [NotNull] ICodeEditorService codeEditor, [NotNull] IPluginCompiler pluginCompiler, [NotNull] IPluginLocator pluginLocator) { if (pluginSourceRepository == null) { throw new ArgumentNullException(nameof(pluginSourceRepository)); } if (codeEditor == null) { throw new ArgumentNullException(nameof(codeEditor)); } if (pluginCompiler == null) { throw new ArgumentNullException(nameof(pluginCompiler)); } if (pluginLocator == null) { throw new ArgumentNullException(nameof(pluginLocator)); } _pluginSourceRepository = pluginSourceRepository; _codeEditor = codeEditor; _pluginCompiler = pluginCompiler; _pluginLocator = pluginLocator; }