void buildSettingsForPluginsBasedOnCommandLineValues( IEnumerable< string > args ) { foreach(string eachPluginMoniker in args ) { var monikerAndValue = createArg( eachPluginMoniker ) ; string moniker = monikerAndValue.Key ; string value = monikerAndValue.Value ; _monikers.Add( moniker ) ; if(!_taskLookup.ContainsKey( moniker )) { throw new InvalidOperationException( string.Format( CultureInfo.CurrentCulture, @"Cannot find the plugin associated with '{0}'.", moniker ) ) ; } var pluginRuntimeSettings = new PluginRuntimeSettings( value ); _taskLookup[ moniker ].Settings = pluginRuntimeSettings ; } }