/** @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object) */ public boolean hasChildren(Object element) { if (element == TreeRoot.EMPTY_ROOT || element == TreeTermination.SEARCH_CANCELED) { return false; } // Only methods can have subelements, so there's no need to fool the // user into believing that there is more if (element instanceof MethodWrapper) { MethodWrapper methodWrapper = (MethodWrapper) element; if (methodWrapper.getMember().getElementType() != IRubyElement.METHOD) { return false; } if (shouldStopTraversion(methodWrapper)) { return false; } return true; } else if (element instanceof TreeRoot) { return true; } else if (element instanceof DeferredMethodWrapper) { // Err on the safe side by returning true even though // we don't know for sure that there are children. return true; } return false; // the "Update ..." placeholder has no children }