public Analyzer(IFactory factory) { if (factory == null) { throw new ArgumentNullException("factory"); } Factory = factory; PopulateCategories(); }