public static DynamicLinqSortingExecutor ForType(Type entityType)
        {
            DynamicLinqSortingExecutor instance;

            lock (_Instances) {
                if ((_Instances.ContainsKey(entityType)))
                {
                    instance = _Instances[entityType];
                }
                else
                {
                    instance = new DynamicLinqSortingExecutor(entityType);
                    _Instances.Add(entityType, instance);
                }
            }
            return(instance);
        }
 public static IOrderedQueryable <TEntity> DynamicallySorted <TEntity>(this IQueryable <TEntity> extendee, String sortExpression)
 {
     return(DynamicLinqSortingExecutor.ForType <TEntity>().ApplyTo(extendee, sortExpression));
 }