docs: private List<Pair<CObject>> getChildPairs(RmPath path, CAttribute parent, CAttribute specialized) {
          List<Pair<CObject>> result = new ArrayList<>();
          for (CObject parentChild : parent.getChildren()) {
              result.add(new Pair<>(parentChild, findSpecializedConstraintOfParentNode(specialized, parentChild)));
          }
          for (CObject specializedChild : specialized.getChildren()) {
              CObject parentChild = findParentConstraintOfSpecializedNode(parent, specializedChild.getNodeId());
              if (parentChild == null) {
  
                  int index = getOrderIndex(path, result, specializedChild);
  
                  if (index >= 0) {
                      result.add(index, new Pair<>(parentChild, specializedChild));
                  } else {
                      result.add(new Pair<>(parentChild, specializedChild));
                  }
  
              }
          }
          return result;
      }