void () { clearChildren(); TreeElement value = getValue(); TreeElement[] children = value.getChildren(); for (TreeElement child : children) { if (child == null) { LOG.error(value + " returned null child: " + Arrays.toString(children)); } addSubElement(createChildNode(child)); } if (myTreeModel instanceof ProvidingTreeModel) { Collection<NodeProvider<?>> originalProviders = ((ProvidingTreeModel)myTreeModel).getNodeProviders(); Collection<NodeProvider<?>> providers = DumbService.getInstance(myProject).filterByDumbAwareness(originalProviders); for (NodeProvider<?> provider : providers) { if (((ProvidingTreeModel)myTreeModel).isEnabled(provider)) { Collection<TreeElement> nodes = (Collection<TreeElement>)provider.provideNodes(value); for (TreeElement node : nodes) { if (node == null) { LOG.error(provider + " returned null node: " + nodes); } addSubElement(createChildNode(node)); } } } } }