@Override
  public MetadataImpl build() {
    final CfgXmlAccessService cfgXmlAccessService =
        options.serviceRegistry.getService(CfgXmlAccessService.class);
    if (cfgXmlAccessService.getAggregatedConfig() != null) {
      if (cfgXmlAccessService.getAggregatedConfig().getMappingReferences() != null) {
        for (MappingReference mappingReference :
            cfgXmlAccessService.getAggregatedConfig().getMappingReferences()) {
          mappingReference.apply(sources);
        }
      }
    }

    return MetadataBuildingProcess.build(sources, options);
  }
  private void applyCfgXmlValues(CfgXmlAccessService service) {
    final LoadedConfig aggregatedConfig = service.getAggregatedConfig();
    if (aggregatedConfig == null) {
      return;
    }

    for (CacheRegionDefinition cacheRegionDefinition :
        aggregatedConfig.getCacheRegionDefinitions()) {
      applyCacheRegionDefinition(cacheRegionDefinition);
    }
  }