internal static IEnumerable <IAppConfigurationSection> GetChildren(this IAppConfiguration configuration, string path)
        {
            if (configuration == null)
            {
                return(Enumerable.Empty <IAppConfigurationSection>());
            }

            if (!(configuration is IAppConfigurationRoot root))
            {
                return(configuration.GetChildren(path));
            }

            IEnumerable <string> childKeys = GetChildKeys(root, path);

            return(childKeys.Select(key => root.GetSection(path == null
                ? key
                : AppConfigurationPath.Combine(path, key))
                                    ));
        }
 public IEnumerable <IAppConfigurationSection> GetChildren()
 {
     return(root.GetChildren(Path));
 }