public function loadDatasetMetaData(DataControllerCallContext $callcontext, DatasetMetaData $dataset)
 {
     $environment_metamodel = data_controller_get_environment_metamodel();
     $datasource = $environment_metamodel->getDataSource($dataset->datasourceName);
     $queryRequest = new DatasetQueryRequest($dataset->name);
     // we do not need to return any records
     $queryRequest->setPagination(0);
     $statements = $this->prepareDatasetQueryStatements($callcontext, $queryRequest);
     $sql = $this->assembleDatasetQueryStatements($callcontext, $queryRequest, $statements);
     // applying pagination
     $this->applyPagination($queryRequest, $sql);
     $loadedDatasetMetaData = $this->processDatasetMetaData($callcontext, $datasource, $sql);
     // processing loaded columns
     $dataset->initializeColumnsFrom($loadedDatasetMetaData->columns);
 }