public IConfiguration Read(XmlDocument document) { VerifyDocumentHasValidRootElement(document); try { Configuration configuration = Configuration.Instance(); foreach (XmlNode node in document.DocumentElement) { if (!(node is XmlComment)) { IProject project = reader.Read(node) as IProject; // could this be null? should check configuration.AddProject(project); } } return(configuration); } catch (NetReflectorException ex) { throw new ConfigurationException("Unable to instantiate CruiseControl projects from configuration document. " + "Configuration document is likely missing Xml nodes required for properly populating CruiseControl configuration." + ex.Message, ex); } }