UFile (package = ) [public final class WhenAndDestructingKt {...]
    UClass (name = WhenAndDestructingKt) [public final class WhenAndDestructingKt {...}]
        UMethod (name = getElementsAdditionalResolve) [public static final fun getElementsAdditionalResolve(@org.jetbrains.annotations.NotNull string: java.lang.String) : java.lang.String {...}]
            UParameter (name = string) [@org.jetbrains.annotations.NotNull var string: java.lang.String]
                UAnnotation (fqName = org.jetbrains.annotations.NotNull) [@org.jetbrains.annotations.NotNull]
            UBlockExpression [{...}] : PsiType:void
                UDeclarationsExpression [var arr: java.util.List<? extends java.lang.String> = listOf("1", "2")]
                    ULocalVariable (name = arr) [var arr: java.util.List<? extends java.lang.String> = listOf("1", "2")]
                        UCallExpression (kind = UastCallKind(name='method_call'), argCount = 2)) [listOf("1", "2")] : PsiType:List<? extends String>
                            UIdentifier (Identifier (listOf)) [UIdentifier (Identifier (listOf))]
                            USimpleNameReferenceExpression (identifier = listOf, resolvesTo = null) [listOf] : PsiType:List<? extends String>
                            ULiteralExpression (value = "1") ["1"] : PsiType:String
                            ULiteralExpression (value = "2") ["2"] : PsiType:String
                USwitchExpression [switch (string)  {...] : PsiType:void
                    USimpleNameReferenceExpression (identifier = string) [string] : PsiType:String
                    UExpressionList (when) [    "aaaa" -> {...    ] : PsiType:void
                        USwitchClauseExpressionWithBody ["aaaa" -> {...]
                            ULiteralExpression (value = "aaaa") ["aaaa"] : PsiType:String
                            UExpressionList (when_entry) [{...]
                                UYieldExpression [yield return "bindingContext"]
                                    UReturnExpression [return "bindingContext"] : PsiType:Void
                                        ULiteralExpression (value = "bindingContext") ["bindingContext"] : PsiType:String
                        USwitchClauseExpressionWithBody ["empty-switch" -> {...]
                            ULiteralExpression (value = "empty-switch") ["empty-switch"] : PsiType:String
                            UExpressionList (when_entry) [{...]
                        USwitchClauseExpressionWithBody [ -> {...]
                            UExpressionList (when_entry) [{...]
                                UDeclarationsExpression [@null var var837f2350: <ErrorType> = arr...@null var statementFilter: java.lang.String = var837f2350.<anonymous class>()]
                                    ULocalVariable (name = var837f2350) [@null var var837f2350: <ErrorType> = arr]
                                        UAnnotation (fqName = null) [@null]
                                        USimpleNameReferenceExpression (identifier = arr) [arr] : PsiType:List<? extends String>
                                    ULocalVariable (name = bindingContext) [@null var bindingContext: java.lang.String = var837f2350.<anonymous class>()]
                                        UAnnotation (fqName = null) [@null]
                                        UQualifiedReferenceExpression [var837f2350.<anonymous class>()]
                                            USimpleNameReferenceExpression (identifier = var837f2350) [var837f2350]
                                            UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) [<anonymous class>()]
                                                UIdentifier (Identifier (component1)) [UIdentifier (Identifier (component1))]
                                                USimpleNameReferenceExpression (identifier = <anonymous class>, resolvesTo = null) [<anonymous class>]
                                    ULocalVariable (name = statementFilter) [@null var statementFilter: java.lang.String = var837f2350.<anonymous class>()]
                                        UAnnotation (fqName = null) [@null]
                                        UQualifiedReferenceExpression [var837f2350.<anonymous class>()]
                                            USimpleNameReferenceExpression (identifier = var837f2350) [var837f2350]
                                            UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) [<anonymous class>()]
                                                UIdentifier (Identifier (component2)) [UIdentifier (Identifier (component2))]
                                                USimpleNameReferenceExpression (identifier = <anonymous class>, resolvesTo = null) [<anonymous class>]
                                UYieldExpression [yield return bindingContext]
                                    UReturnExpression [return bindingContext] : PsiType:Void
                                        USimpleNameReferenceExpression (identifier = bindingContext) [bindingContext] : PsiType:String
