docs: public CmsResource getConfigurationFile(CmsObject cms, String containerPageUri) {
  
          String cfgPath = null;
          try {
              // get the resource type configuration file from the vfs tree
              cfgPath = cms.readPropertyObject(containerPageUri, m_propertyName, true).getValue();
          } catch (CmsException e) {
              // should never happen
              LOG.error(e.getLocalizedMessage(), e);
          }
  
          if (CmsStringUtil.isEmptyOrWhitespaceOnly(cfgPath)) {
              // if not found try at the template
              try {
                  // retrieve the template uri
                  String templateUri = cms.readPropertyObject(
                      containerPageUri,
                      CmsPropertyDefinition.PROPERTY_TEMPLATE,
                      true).getValue();
                  if (CmsStringUtil.isNotEmptyOrWhitespaceOnly(templateUri)) {
                      // get the resource type configuration file from the template itself
                      cfgPath = cms.readPropertyObject(templateUri, m_propertyName, true).getValue();
                  }
              } catch (CmsException e) {
                  // should never happen
                  LOG.error(e.getLocalizedMessage(), e);
              }
          }
  
          if (CmsStringUtil.isEmptyOrWhitespaceOnly(cfgPath)) {
              // configuration could not be found
              LOG.warn(Messages.get().getBundle().key(Messages.ERR_CONFIG_NOT_SET_2, containerPageUri, m_propertyName));
              return null;
          }
  
          try {
              // read configuration file
              return cms.readResource(cfgPath);
          } catch (Exception e1) {
              try {
                  CmsResource baseResource = cms.readResource(containerPageUri);
                  String baseRootPath = baseResource.getRootPath();
                  String siteRoot = OpenCms.getSiteManager().getSiteRoot(baseRootPath);
                  String rootCfgPath = CmsStringUtil.joinPaths(siteRoot, cfgPath);
                  return cms.readResource(rootCfgPath);
              } catch (Exception e2) {
                  throw new CmsIllegalStateException(
                      Messages.get().container(
                          Messages.ERR_CONFIG_NOT_FOUND_3,
                          containerPageUri,
                          m_propertyName,
                          cfgPath));
              }
          }
      }