private void insertLastOuterElementForRange(@NotNull CompositeElement templateFileElement,
                                              @NotNull TextRange outerElementRange,
                                              @NotNull CharSequence sourceCode,
                                              @NotNull CharTable charTable) {
    assert isLastRange(myOuterAndRemoveRanges, outerElementRange) :
      "This should only happen for the last inserted range. Got " + myOuterAndRemoveRanges.lastIndexOf(outerElementRange) +
      " of " + (myOuterAndRemoveRanges.size() - 1);
    OuterLanguageElementImpl outerLanguageElement = myTemplateDataElementType
      .createOuterLanguageElement(charTable.intern(outerElementRange.subSequence(sourceCode)),
                                  myTemplateDataElementType.myOuterElementType);
    templateFileElement.rawAddChildren(outerLanguageElement);
  }
private void insertLastOuterElementForRange(@NotNull CompositeElement templateFileElement,
                                              @NotNull TextRange outerElementRange,
                                              @NotNull CharSequence sourceCode,
                                              @NotNull CharTable charTable)