public PluginLoadOptionsBuilder <T> ScanForAssemblies(Action <AssemblyScanningComposer <T> > composerOptions)
        {
            var composer = new AssemblyScanningComposer <T>();

            composerOptions(composer.WithDefaultOptions <DefaultAssemblyScanner <T>, DefaultAssemblyScannerOptions <T> >());
            var composition = composer.Compose();

            this.assemblyScanner            = composition.Scanner;
            this.assemblyScannerType        = composition.ScannerType;
            this.assemblyScannerOptions     = composition.ScannerOptions;
            this.assemblyScannerOptionsType = composition.ScannerOptionsType;

            return(this);
        }
 public static AssemblyScanningComposer <T> UseNugetPackageDiscovery <T>(this AssemblyScanningComposer <T> options)
 {
     return(options.WithAssemblyScanner <NugetPackageAssemblyScanner <T> >());
 }