boolean (final PsiElement conditionExpression) { boolean hasDefault = false; final PsiSwitchStatement switchStatement = PsiTreeUtil.getParentOfType(conditionExpression, PsiSwitchStatement.class); final PsiCodeBlock body = ((PsiSwitchStatementImpl)conditionExpression.getParent()).getBody(); if (body != null) { final PsiElement bodyElement = body.getFirstBodyElement(); if (bodyElement != null) { PsiSwitchLabelStatement label = PsiTreeUtil.getNextSiblingOfType(bodyElement, PsiSwitchLabelStatement.class); while (label != null) { if (label.getEnclosingSwitchStatement() == switchStatement) { hasDefault |= label.isDefaultCase(); } label = PsiTreeUtil.getNextSiblingOfType(label, PsiSwitchLabelStatement.class); } } } return hasDefault; }