public boolean isLeaf(Object node) throws UnknownTypeException { if (node == ROOT) return false; if (node instanceof JPDAWatchEvaluating) { JPDAWatchEvaluating jwe = (JPDAWatchEvaluating) node; if (!jwe.getWatch().isEnabled()) { return true; } if (!jwe.isCurrent()) { return false; // When not yet evaluated, suppose that it's not leaf } JPDAWatch jw = jwe.getEvaluatedWatch(); if (jw instanceof JPDAWatchImpl) { return ((JPDAWatchImpl) jw).isPrimitive(); } } if (node == EMPTY_WATCH) return true; return getLocalsTreeModel().isLeaf(node); }