// Set up a Chain of Responsibility that will get the converter from the first
        // factory capable of creating it.
        // This method is internal, rather than private, for test purposes.
        internal ConverterFactory CreateConverterFactory(string pluginAssemblyPath)
        {
            ConverterFactory factory = new BuiltInConverterFactory();

            if (!string.IsNullOrWhiteSpace(pluginAssemblyPath))
            {
                factory = new PluginConverterFactory(pluginAssemblyPath, this.assemblyLoadFileDelegate)
                {
                    Next = factory,
                };
            }

            return(factory);
        }
        // Set up a Chain of Responsibility that will get the converter from the first
        // factory capable of creating it.
        // This method is internal, rather than private, for test purposes.
        internal static ConverterFactory CreateConverterFactory(string pluginAssemblyPath)
        {
            ConverterFactory factory = new BuiltInConverterFactory();

            if (!string.IsNullOrWhiteSpace(pluginAssemblyPath))
            {
                factory = new PluginConverterFactory(pluginAssemblyPath)
                {
                    Next = factory,
                };
            }

            return(factory);
        }