/**
  * @param QueryBuilder $qb
  */
 private function applyOrder(QueryBuilder $qb)
 {
     if (0 === sizeof($this->request->getOrder())) {
         foreach ($this->table->getColumns() as $column) {
             if (null !== $column->getOptions()['order']) {
                 $qb->addOrderBy($this->getPrefixedField($column), $column->getOptions()['order']);
             }
         }
         return;
     }
     $columns = $this->request->getColumns();
     foreach ($this->request->getOrder() as $order) {
         $columnIndex = $order['column'];
         $columnName = $columns[$columnIndex]['name'];
         $column = $this->table->getColumns()[$columnName];
         if (true === $column->getOptions()['sortable']) {
             $qb->addOrderBy($this->getPrefixedField($column), $order['dir']);
         }
     }
 }