private static boolean isOtherTypeOrDifferent( @NotNull GrReferenceExpression referenceExpression, GrVariable resolved) { if (ControlFlowUtils.findControlFlowOwner(referenceExpression) != ControlFlowUtils.findControlFlowOwner(resolved)) return true; final PsiType currentType = referenceExpression.getType(); return currentType != null && currentType != PsiType.NULL && !ControlFlowUtils.findAccess(resolved, referenceExpression, false, true).isEmpty(); }