/// <summary>
        /// Build a new <see cref="ILoadLinkProtocol"/> using assemblies as an entry point
        /// to find <see cref="ILoadLinkProtocolConfig"/> and types for which to apply the <paramref name="conventions"/>.
        /// </summary>
        public static ILoadLinkProtocol Build(
            this LoadLinkProtocolBuilder loadLinkProtocolBuilder,
            Func <IReferenceLoader> createReferenceLoader,
            IEnumerable <Assembly> assemblies,
            IList <ILoadLinkExpressionConvention> conventions)
        {
            loadLinkProtocolBuilder.ApplyConventions(
                assemblies,
                conventions
                );
            loadLinkProtocolBuilder.ApplyLoadLinkProtocolConfigs(assemblies);

            return(loadLinkProtocolBuilder.Build(createReferenceLoader));
        }