void (@NotNull PsiReturnStatement statement) { super.visitReturnStatement(statement); final PsiExpression returnValue = statement.getReturnValue(); if (myUseExistingClass && returnValue instanceof PsiMethodCallExpression callExpression) { if (callExpression.getArgumentList().isEmpty()) { final PsiReferenceExpression callMethodExpression = callExpression.getMethodExpression(); final String methodName = callMethodExpression.getReferenceName(); if (Comparing.strEqual(myUnwrapMethodName, methodName)) { final PsiExpression qualifier = callMethodExpression.getQualifierExpression(); if (qualifier != null) { final PsiType qualifierType = qualifier.getType(); if (qualifierType != null && qualifierType.getCanonicalText().equals(myQualifiedName)) { usages.add(new ReturnWrappedValue(statement)); return; } } } } } usages.add(new WrapReturnValue(statement, type)); }