private @Nullable TokenSequence getParsedTokenSequence() {
      int tokenCount = myEndIndex - myStartIndex;
      if (tokenCount == 1) return null; // not expand single lazy parseable token case

      int[] lexStarts = new int[tokenCount + 1];
      System.arraycopy(getBuilder().myLexStarts, myStartIndex, lexStarts, 0, tokenCount);
      int diff = getBuilder().myLexStarts[myStartIndex];
      for(int i = 0; i < tokenCount; ++i) {
        lexStarts[i] -= diff;
      }
      lexStarts[tokenCount] = getEndOffset() - getStartOffset();

      IElementType[] lexTypes = new IElementType[tokenCount + 1];
      System.arraycopy(getBuilder().myLexTypes, myStartIndex, lexTypes, 0, tokenCount);

      return new TokenSequence(lexStarts, lexTypes, tokenCount, getText());
    }
private @Nullable TokenSequence getParsedTokenSequence()