<caret_1>:
  KtNameReferenceExpression(192,195): 'foo'
    KaApplicableCallCandidate:
      candidate = KaSimpleVariableAccessCall:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = javaClass
          isSafeNavigation = false
          type = JavaClass
        extensionReceiver = null
        isContextSensitive = false
        kind = Read
        signature = KaVariableSignature:
          name = foo
          receiverType = null
          returnType = @EnhancedNullability Foo<kotlin.String!>
          symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
          contextParameters = []
          callableId = /JavaClass.foo
        typeArgumentsMapping = {}
      isInBestCandidates = true

<caret_2>:
  KtNameReferenceExpression(211,214): 'foo'
    KaApplicableCallCandidate:
      candidate = KaSimpleVariableAccessCall:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = javaClass
          isSafeNavigation = false
          type = JavaClass
        extensionReceiver = null
        isContextSensitive = false
        kind = Write:
          value = foo
        signature = KaVariableSignature:
          name = foo
          receiverType = null
          returnType = @EnhancedNullability Foo<kotlin.String!>
          symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
          contextParameters = []
          callableId = /JavaClass.foo
        typeArgumentsMapping = {}
      isInBestCandidates = true

<caret_3>:
  KtNameReferenceExpression(329,332): 'foo'
    KaApplicableCallCandidate:
      candidate = KaSimpleVariableAccessCall:
        contextArguments = []
        dispatchReceiver = KaExplicitReceiverValue:
          expression = kotlinClass
          isSafeNavigation = false
          type = KotlinClass<T>
        extensionReceiver = null
        isContextSensitive = false
        kind = Read
        signature = KaVariableSignature:
          name = foo
          receiverType = null
          returnType = Foo<T>
          symbol = var foo: Foo<T>
          contextParameters = []
          callableId = /KotlinClass.foo
        typeArgumentsMapping = {}
      isInBestCandidates = false

    KaApplicableCallCandidate:
      candidate = KaSimpleVariableAccessCall:
        contextArguments = []
        dispatchReceiver = KaSmartCastedReceiverValue:
          original = KaExplicitReceiverValue:
            expression = kotlinClass
            isSafeNavigation = false
            type = KotlinClass<T>
          type = it(JavaClass & KotlinClass<T>)
        extensionReceiver = null
        isContextSensitive = false
        kind = Read
        signature = KaVariableSignature:
          name = foo
          receiverType = null
          returnType = @EnhancedNullability Foo<kotlin.String!>
          symbol = var foo: @EnhancedNullability Foo<kotlin.String!>
          contextParameters = []
          callableId = /JavaClass.foo
        typeArgumentsMapping = {}
      isInBestCandidates = true
