public CheckedTreeNode append(CheckedTreeNode node) { if (!myGroupByMethods) { return node; } final TreeDescriptor descriptor = getDescriptor(node); if (!(descriptor instanceof BreakpointDescriptor)) { return node; } final Breakpoint breakpoint = ((BreakpointDescriptor) descriptor).getBreakpoint(); if (!(breakpoint instanceof LineBreakpoint)) { return node; } final LineBreakpoint lineBreakpoint = (LineBreakpoint) breakpoint; final String methodName = lineBreakpoint.getMethodName(); final String className = lineBreakpoint.getShortClassName(); final String packageName = lineBreakpoint.getPackageName(); if (methodName == null || className == null || packageName == null) { return node; } return attachNodeToParent(new MethodDescriptor(methodName, className, packageName), node); }