public void invalidate(@Nullable Runnable onDone) {
    model.onValidThread(() -> {
      root.childrenValid = false;
      LOG.debug("whole structure changed");
      applyViewSettings();
      treeStructureChanged(null, null, null);
      if (onDone != null) onDone.run();
    });
  }
public void invalidate(@Nullable Runnable onDone)