protected function generateDatasetMeasures(__CubeUIMetaDataGenerator_CallContext $callcontext, DatasetUIMetaData $datasetUIMetaData, CubeMetaData $cube, $referencePath) {
        if (isset($callcontext->usedMeasureNames)) {
            // preparing list of dataset-wide measures (those are measures which were not used by any columns)
            foreach ($callcontext->usedMeasureNames as $measureName => $used) {
                if ($used) {
                    continue;
                }

                // we do not need to show several 'Record Count' measures
                if (isset($referencePath) && ($measureName === StarSchemaNamingConvention::$MEASURE_NAME__RECORD_COUNT)) {
                    continue;
                }

                // checking if the measure could be linked to facts
                $possibleFactColumnNames = StarSchemaNamingConvention::preparePossibleOwners4Measure($measureName);
                if (isset($possibleFactColumnNames)) {
                    foreach ($possibleFactColumnNames as $possibleFactColumnName) {
                        $possibleFactUIMetaDataName = self::prepareColumnUIMetaDataName($referencePath, $cube->factsDatasetName, $possibleFactColumnName);
                        $attributeUIMetaData = $datasetUIMetaData->findAttribute($possibleFactUIMetaDataName);
                        if (isset($attributeUIMetaData)) {
                            $this->prepareAttributeCustomMeasure($attributeUIMetaData, $referencePath, $cube, $measureName);
                            continue 2;
                        }
                    }
                }

                // adding dataset custom measure
                $measure = $cube->measures[$measureName];

                $measureUIMetaData = new CubeMeasureUIMetaData();
                $measureUIMetaData->name = self::prepareMeasureUIMetaDataName($referencePath, $cube, $measureName);
                $measureUIMetaData->publicName = $measure->publicName;
                $measureUIMetaData->description = $measure->description;
                $measureUIMetaData->type = clone $measure->type;

                $datasetUIMetaData->registerMeasure($measureUIMetaData);
            }
        }
    }