code: protected SyntaxElement parseAndAppendNewElement(Node ref, String path, char predelim, int idx, StringBuffer res,
                                                       Document document, HashMap<String, String> predefs,
                                                       HashMap<String, String> valids) {
          SyntaxElement ret;
  
          Map<String, String> newValids = new HashMap<>();
          if (idx != 0 && valids != null) {
              String header = getPath() + ".value";
  
              valids.forEach((key, value) -> {
                  if (key.startsWith(header) && key.indexOf(".", header.length()) == -1) {
                      int dotPos = key.lastIndexOf('.');
                      String newKey = key.substring(0, dotPos) + HBCIUtils.withCounter("", idx) + key.substring(dotPos);
                      newValids.put(newKey, value);
                  }
              });
          }
          valids.putAll(newValids);
  
          addElement(ret = new DE(ref, getName(), path, predelim, idx, res, predefs, valids));
          return ret;
      }
docs: -------------------------------------------------------------------------------------------------------