@Nullable
  private static List<@NotNull UExpression> findUsages(UExpression passThrough, ULocalVariable uVar) {
    PsiElement psiVar = uVar.getSourcePsi();
    PsiElement psi = passThrough.getSourcePsi();
    if (psi != null && psiVar != null) {
      if (psiVar instanceof PsiLocalVariable local) {
        // Java
        List<PsiReferenceExpression> refs = VariableAccessUtils.getVariableReferences(local);
        return ContainerUtil.mapNotNull(
          refs, ref -> PsiUtil.isAccessedForWriting(ref) ? null : UastContextKt.toUElement(ref, UExpression.class));
      }
      else {
        // Kotlin
        Collection<PsiReference> refs = ReferencesSearch.search(psiVar, psiVar.getUseScope()).findAll();
        return ContainerUtil.mapNotNull(refs, ref -> {
          UExpression expr = UastContextKt.toUElement(ref.getElement(), UExpression.class);
          if (expr != null && expr.getUastParent() instanceof UBinaryExpression &&
              AnnotationContext.expressionsAreEquivalent(((UBinaryExpression)expr.getUastParent()).getLeftOperand(), expr)) {
            return null;
          }
          return expr;
        });
      }
    }
    return null;
  }
@Nullable
  private static List<@NotNull UExpression> findUsages(UExpression passThrough, ULocalVariable uVar)