docs: private void addAttributeGroup(XsdAttributeGroup attributeGroup) {
          String interfaceName = firstToUpper(attributeGroup.getName());
  
          if (!attributeGroupInterfaces.containsKey(interfaceName)){
              List<XsdAttribute> ownElements = attributeGroup.getXsdElements()
                      .filter(attribute -> attribute.getParent().equals(attributeGroup))
                      .map(attribute -> (XsdAttribute) attribute)
                      .collect(Collectors.toList());
  
              List<String> parentNames = attributeGroup.getAttributeGroups().stream().map(XsdNamedElements::getName).collect(Collectors.toList());
              AttributeHierarchyItem attributeHierarchyItemItem = new AttributeHierarchyItem(parentNames, ownElements);
  
              attributeGroupInterfaces.put(interfaceName, attributeHierarchyItemItem);
  
              attributeGroup.getAttributeGroups().forEach(this::addAttributeGroup);
          }
      }