public function adjustCubeQueryRequest(DataSourceHandler $handler, AbstractQueryRequest &$request) {
        if (!isset($request->sortingConfigurations)) {
            // sorting configuration is required when pagination properties are present
            if ((isset($request->startWith) && ($request->startWith > 0)) || isset($request->limit)) {
                $columnNames = NULL;
                // adding dimensions and their columns
                if (isset($request->dimensions)) {
                    foreach ($request->dimensions as $dimension) {
                        if (isset($dimension->requestColumnIndex)) {
                            $columnNames[$dimension->requestColumnIndex] = ParameterNameHelper::assemble($dimension->name);
                        }
                        if (isset($dimension->columns)) {
                            foreach ($dimension->columns as $column) {
                                if (isset($column->requestColumnIndex)) {
                                    $columnNames[$column->requestColumnIndex] = ParameterNameHelper::assemble($dimension->name, $column->name);
                                }
                            }
                        }
                    }
                }
                // adding measures
                if (isset($request->measures)) {
                    foreach ($request->measures as $measure) {
                        if (isset($measure->requestColumnIndex)) {
                            $columnNames[$measure->requestColumnIndex] = $measure->name;
                        }
                    }
                }
                if (!isset($columnNames)) {
                    throw new IllegalStateException(t('Pagination requires sorting configuration'));
                }

                if (isset($columnNames)) {
                    // sorting by column index
                    ksort($columnNames);

                    $request->addOrderByColumns($columnNames);
                }
            }
        }
    }