@Override protected int getChildCount(Object element, IPresentationContext context, IViewerUpdate monitor) throws CoreException { return getAllChildren(element, context, monitor).length; }
@Override protected Object[] getChildren(Object parent, int index, int length, IPresentationContext context, IViewerUpdate monitor) throws CoreException { return getElements(getAllChildren(parent, context, monitor), index, length); }
protected Object[] getAllChildren(Object parent, IPresentationContext context, IViewerUpdate monitor) throws CoreException { try { return super.getAllChildren(parent, context, monitor); } catch (CoreException e) { if (e.getStatus().getCode() == IJavaThread.ERR_THREAD_NOT_SUSPENDED) { monitor.cancel(); return EMPTY; } throw e; } }