public static IEnumerable <ConfigurationSpecification> AsConfigurationSpecifications( this FileInfo configurationSpecificationFile, IEnumerable <IConfigurationFilesResolverStrategy> configurationFileResolverStrategies) { Arguments.Validation.Constraints .IsNotNull(configurationSpecificationFile, nameof(configurationSpecificationFile)) .Exists(configurationSpecificationFile, nameof(configurationSpecificationFile)) .Check(); var configurationSpecifications = new ConfigurationSpecificationReader(configurationSpecificationFile.AsXmlDocument(), configurationFileResolverStrategies).Read(); foreach (var configurationSpecification in configurationSpecifications) { configurationSpecification.SpecificationSourceFile = configurationSpecificationFile; yield return(configurationSpecification); } }