public static IBuilder Register(
     this IBuilder builder,
     params IConfigurationSource[] sources
     )
 {
     foreach (var source in sources)
     {
         builder.Register(source);
     }
     return(builder);
 }
 public static IBuilder Register(
     this IBuilder builder,
     IConfigurationSource source
     )
 {
     return(builder.Register(
                source.ConfigurationType,
                source.ConfigurationsDirectory?.FullName,
                source.Environment,
                source.FileType,
                source.IsOptional
                ));
 }
 public static IBuilder Register(
     this IBuilder builder,
     Type configurationType,
     Environment environment,
     FileType fileType,
     bool isOptional
     )
 {
     return(builder.Register(
                configurationType,
                null,
                environment,
                fileType,
                isOptional
                ));
 }
 public static IBuilder Auto(
     this IBuilder builder,
     Type configurationType,
     string fullPathToFolder,
     FileType fileType
     )
 {
     foreach (Environment environment in Enum.GetValues(
                  typeof(Environment)
                  ))
     {
         builder.Register(
             configurationType,
             fullPathToFolder,
             environment,
             fileType,
             environment != Environment.Default
             );
     }
     return(builder);
 }