private static boolean startsWithTemplate(@Nullable ASTNode astNode) {
    while (astNode != null) {
      if (astNode instanceof OuterLanguageElement) return true;
      if (NON_SIGNIFICANT_TOKENS_BEFORE_TEMPLATE.contains(astNode.getElementType())) {
        astNode = astNode.getTreeNext();
      }
      else {
        astNode = astNode.getFirstChildNode();
      }
    }
    return false;
  }
private static boolean startsWithTemplate(@Nullable ASTNode astNode)