@Nullable
  private static StringKind getStringKindByContentTokenType(PsiElement leaf, IElementType contentTokenType) {
    if (contentTokenType == GSTRING_CONTENT) {
      PsiElement parent = leaf.getParent(); // template string content
      PsiElement gParent = parent.getParent(); // template string element
      if (isMultiline(gParent)) {
        // "....${}...<here>"
        return StringKind.TRIPLE_DOUBLE_QUOTED;
      }
      else {
        // """....${}...<here>"""
        return StringKind.DOUBLE_QUOTED;
      }
    }
    else if (contentTokenType == SLASHY_CONTENT) {
      // /....${}...<here>/
      return StringKind.SLASHY;
    }
    else if (contentTokenType == DOLLAR_SLASHY_CONTENT) {
      // $/...${}...<here>/$
      return StringKind.DOLLAR_SLASHY;
    }
    return null;
  }
@Nullable
  private static StringKind getStringKindByContentTokenType(PsiElement leaf, IElementType contentTokenType)