@Override
  public @Nullable Pair<XmlElementArrangementEntry, List<XmlElementArrangementEntry>> parseWithNew(@NotNull PsiElement root,
                                                                                                   @Nullable Document document,
                                                                                                   @NotNull Collection<? extends TextRange> ranges,
                                                                                                   @NotNull PsiElement element,
                                                                                                   @NotNull ArrangementSettings settings)
  {
    final XmlArrangementParseInfo newEntryInfo = new XmlArrangementParseInfo();
    element.accept(new XmlArrangementVisitor(newEntryInfo, Collections.singleton(element.getTextRange())));

    if (newEntryInfo.getEntries().size() != 1) {
      return null;
    }
    final XmlElementArrangementEntry entry = newEntryInfo.getEntries().get(0);
    final XmlArrangementParseInfo existingEntriesInfo = new XmlArrangementParseInfo();
    root.accept(new XmlArrangementVisitor(existingEntriesInfo, ranges));
    return Pair.create(entry, existingEntriesInfo.getEntries());
  }
@Override
  public @Nullable Pair<XmlElementArrangementEntry, List<XmlElementArrangementEntry>> parseWithNew(@NotNull PsiElement root,
                                                                                                   @Nullable Document document,
                                                                                                   @NotNull Collection<? extends TextRange> ranges,
                                                                                                   @NotNull PsiElement element,
                                                                                                   @NotNull ArrangementSettings settings)