docs: public boolean findSchemaTypesForPath(String path, BiConsumer<I_CmsXmlSchemaType, String> consumer) {
  
          path = CmsXmlUtils.removeAllXpathIndices(path);
          List<String> pathComponents = CmsXmlUtils.splitXpath(path);
          List<I_CmsXmlSchemaType> result = new ArrayList<>();
          CmsXmlContentDefinition currentContentDef = this;
          for (int i = 0; i < pathComponents.size(); i++) {
              String pathComponent = pathComponents.get(i);
  
              if (currentContentDef == null) {
                  return false;
              }
              I_CmsXmlSchemaType schemaType = currentContentDef.getSchemaType(pathComponent);
              if (schemaType == null) {
                  return false;
              } else {
                  String remainingPath = CmsStringUtil.listAsString(
                      pathComponents.subList(i + 1, pathComponents.size()),
                      "/");
                  consumer.accept(schemaType, remainingPath);
                  result.add(schemaType);
                  if (schemaType instanceof CmsXmlNestedContentDefinition) {
                      currentContentDef = ((CmsXmlNestedContentDefinition)schemaType).getNestedContentDefinition();
                  } else {
                      currentContentDef = null; //
                  }
              }
          }
          return true;
      }