diff --git a/java/java-impl/src/com/intellij/ide/hierarchy/call/CallerMethodsTreeStructure.java b/java/java-impl/src/com/intellij/ide/hierarchy/call/CallerMethodsTreeStructure.java index e21896d3a9eb..16ed3e93c250 100644 --- a/java/java-impl/src/com/intellij/ide/hierarchy/call/CallerMethodsTreeStructure.java +++ b/java/java-impl/src/com/intellij/ide/hierarchy/call/CallerMethodsTreeStructure.java @@ -46,11 +46,12 @@ public final class CallerMethodsTreeStructure extends HierarchyTreeStructure { @Override protected final Object[] buildChildren(final HierarchyNodeDescriptor descriptor) { final PsiMember enclosingElement = ((CallHierarchyNodeDescriptor)descriptor).getEnclosingElement(); - if (!(enclosingElement instanceof PsiMethod)) { + HierarchyNodeDescriptor nodeDescriptor = getBaseDescriptor(); + if (!(enclosingElement instanceof PsiMethod) || nodeDescriptor == null) { return ArrayUtil.EMPTY_OBJECT_ARRAY; } final PsiMethod method = (PsiMethod)enclosingElement; - final PsiMethod baseMethod = (PsiMethod)((CallHierarchyNodeDescriptor)getBaseDescriptor()).getTargetElement(); + final PsiMethod baseMethod = (PsiMethod)((CallHierarchyNodeDescriptor)nodeDescriptor).getTargetElement(); final SearchScope searchScope = getSearchScope(myScopeType, baseMethod.getContainingClass()); final PsiClass originalClass = method.getContainingClass();