code: public int enumerateSegs(int startValue, boolean allowOverwrite) {
          int idx = startValue;
  
          for (MultipleSyntaxElements s : getChildContainers()) {
              if (s != null)
                  idx = s.enumerateSegs(idx, allowOverwrite);
          }
  
          return idx;
      }
docs: loop through all child-elements; the segments found there
  will be sequentially enumerated starting with num startValue;
  if startValue is zero, the segments will not be enumerated,
  but all given the number 0
  
  @param startValue value to be used for the first segment found
  @return next sequence number usable for enumeration