void AddProcessor(IDataProcessor someProcessor) { Type typeToAdd = someProcessor.GetType(); if (typeDictionary.ContainsKey(typeToAdd)) { throw new ArgumentException( String.Format( "Cannot add same type of processor twice! Type: {0}" , typeToAdd ) ); } someProcessor.OnAttach(this.dataCenter); typeDictionary.Add(typeToAdd, someProcessor); processorList.Add(someProcessor); }