public static <PROJECTION, RESULT, TYPE> Order<PROJECTION> getMultiFieldOrder(FieldSortOrder<? super RESULT, TYPE>... sortOrders)
    {
        List<FieldOrder<PROJECTION, RESULT, TYPE>> orders = new ArrayList<FieldOrder<PROJECTION, RESULT, TYPE>>();
        for(FieldSortOrder<? super RESULT, TYPE> sort : sortOrders)
        {
            orders.add(new FieldOrder<PROJECTION, RESULT, TYPE>(sort.getField(), sort.getSortOrder()));
        }
        return new OrderSet<PROJECTION>(orders);
    }