/// <summary>Converts a query component into its navigator.</summary>
        /// <param name="queryComponent">Query component to be converted.</param>
        /// <returns>Query component navigator or null.</returns>
        internal static IQueryComponentNavigator GetQueryComponentNavigator(this IQueryComponent queryComponent)
        {
            IQueryComponentNavigator         result = null;
            QueryComponentNavigatorAttribute queryComponentNavigatorAttribute = queryComponent.GetQueryComponentNavigatorAttribute();

            if (queryComponentNavigatorAttribute != null)
            {
                result = (IQueryComponentNavigator)queryComponentNavigatorAttribute.Constructor.Invoke(new object[] { queryComponent });
            }

            return(result);
        }