docs: protected void validateNames(CmsObject cms, I_CmsXmlContentValue value, CmsXmlContent content)
      throws CmsXmlException {
  
          // get the current name
          Locale locale = value.getLocale();
          String namePath = CmsXmlUtils.concatXpath(value.getPath(), CmsXmlContainerPage.XmlNode.Name.name());
          String name = content.getValue(namePath, locale).getStringValue(cms);
          // iterate over all containers
          Iterator<I_CmsXmlContentValue> itValues = content.getValues(
              CmsXmlContainerPage.XmlNode.Containers.name(),
              locale).iterator();
          while (itValues.hasNext()) {
              I_CmsXmlContentValue itValue = itValues.next();
              if (itValue.getPath().equals(value.getPath())) {
                  // skip current container
                  continue;
              }
              // get container name
              namePath = CmsXmlUtils.concatXpath(itValue.getPath(), CmsXmlContainerPage.XmlNode.Name.name());
              String itName = content.getValue(namePath, locale).getStringValue(cms);
              // validate
              if (name.equals(itName)) {
                  throw new CmsXmlException(Messages.get().container(Messages.ERR_DUPLICATE_NAME_1, name));
              }
          }
      }