public ActionCallback expand(DefaultMutableTreeNode node) { final Object userObject = node.getUserObject(); if (!(userObject instanceof NodeDescriptor)) return new ActionCallback.Rejected(); NodeDescriptor desc = (NodeDescriptor) userObject; final Object element = myBuilder.getTreeStructureElement(desc); final ActionCallback result = new ActionCallback(); myBuilder.expand( element, new Runnable() { public void run() { result.setDone(); } }); return result; }