@NotNull
  private List<ArrangementSectionRule> deserializeSectionRules(@NotNull Element rulesElement,
                                                               @Nullable Set<? extends StdArrangementRuleAliasToken> tokens) {
    final List<ArrangementSectionRule> sectionRules = new ArrayList<>();
    for (Element sectionElement : rulesElement.getChildren(SECTION_ELEMENT_NAME)) {
      final List<StdArrangementMatchRule> rules = deserializeRules(sectionElement, tokens);
      final Attribute start = sectionElement.getAttribute(SECTION_START_ATTRIBUTE);
      final String startComment = start != null ? start.getValue().trim() : null;
      final Attribute end = sectionElement.getAttribute(SECTION_END_ATTRIBUTE);
      final String endComment = end != null ? end.getValue().trim() : null;
      sectionRules.add(ArrangementSectionRule.create(startComment, endComment, rules));
    }
    return sectionRules;
  }
@NotNull
  private List<ArrangementSectionRule> deserializeSectionRules(@NotNull Element rulesElement,
                                                               @Nullable Set<? extends StdArrangementRuleAliasToken> tokens)