diff --git a/java/openapi/src/com/intellij/psi/util/RedundantCastUtil.java b/java/openapi/src/com/intellij/psi/util/RedundantCastUtil.java index 42bba5299036..5688bb55102a 100644 --- a/java/openapi/src/com/intellij/psi/util/RedundantCastUtil.java +++ b/java/openapi/src/com/intellij/psi/util/RedundantCastUtil.java @@ -241,7 +241,9 @@ public class RedundantCastUtil { PsiManager manager = methodExpr.getManager(); PsiElementFactory factory = JavaPsiFacade.getInstance(manager.getProject()).getElementFactory(); - PsiMethodCallExpression newCall = (PsiMethodCallExpression)factory.createExpressionFromText(methodCall.getText(), methodCall); + final PsiExpression expressionFromText = factory.createExpressionFromText(methodCall.getText(), methodCall); + if (!(expressionFromText instanceof PsiMethodCallExpression)) return; + PsiMethodCallExpression newCall = (PsiMethodCallExpression)expressionFromText; PsiExpression newQualifier = newCall.getMethodExpression().getQualifierExpression(); PsiExpression newOperand = ((PsiTypeCastExpression)((PsiParenthesizedExpression)newQualifier).getExpression()).getOperand(); newQualifier.replace(newOperand);