protected Icon getDisplayIcon() {
   return myBreakpoint instanceof BreakpointWithHighlighter
       ? myBreakpoint.ENABLED
           ? ((BreakpointWithHighlighter) myBreakpoint).getSetIcon(false)
           : ((BreakpointWithHighlighter) myBreakpoint).getDisabledIcon(false)
       : myBreakpoint.getIcon();
 }
 public boolean equals(final Object o) {
   if (this == o) {
     return true;
   }
   if (o == null || getClass() != o.getClass()) {
     return false;
   }
   final BreakpointDescriptor breakpointDescriptor = (BreakpointDescriptor) o;
   return myBreakpoint.equals(breakpointDescriptor.myBreakpoint);
 }
    public CheckedTreeNode append(CheckedTreeNode node) {
      final TreeDescriptor descriptor = getDescriptor(node);
      if (!(descriptor instanceof BreakpointDescriptor)) {
        return node;
      }

      final Breakpoint breakpoint = ((BreakpointDescriptor) descriptor).getBreakpoint();
      final String packageName;
      if (breakpoint instanceof ExceptionBreakpoint) {
        packageName = breakpoint.getPackageName();
      } else if (breakpoint instanceof BreakpointWithHighlighter) {
        packageName = breakpoint.getPackageName();
      } else {
        packageName = null;
      }
      if (packageName == null) {
        return node;
      }
      return attachNodeToParent(new PackageDescriptor(packageName), node);
    }
    public CheckedTreeNode append(CheckedTreeNode node) {
      if (!myGroupByClasses) {
        return node;
      }
      final TreeDescriptor descriptor = getDescriptor(node);
      if (!(descriptor instanceof BreakpointDescriptor)) {
        return node;
      }

      final Breakpoint breakpoint = ((BreakpointDescriptor) descriptor).getBreakpoint();
      final String className = breakpoint.getShortClassName();
      if (className == null) {
        return node;
      }
      final String packageName = breakpoint.getPackageName();
      if (packageName == null) {
        return node;
      }
      return attachNodeToParent(new ClassDescriptor(className, packageName), node);
    }
 public void addBreakpoint(final Breakpoint breakpoint) {
   myBreakpoints.add(breakpoint);
   breakpoint.updateUI(
       new Runnable() {
         public void run() {
           rebuildTree();
         }
       });
   rebuildTree();
   selectBreakpoint(breakpoint);
 }
 public int hashCode() {
   return myBreakpoint.hashCode();
 }
 public String getDisplayString() {
   return myBreakpoint.getDisplayName();
 }