docs: public void refresh(ExtensionComponentSet delta) {
          boolean fireOnChangeListeners = false;
          synchronized (getLoadLock()) {
              if (extensions==null)
                  return;     // not yet loaded. when we load it, we'll load everything visible by then, so no work needed
  
              Collection<ExtensionComponent<T>> found = load(delta);
              if (!found.isEmpty()) {
                  List<ExtensionComponent<T>> l = Lists.newArrayList(extensions);
                  l.addAll(found);
                  extensions = sort(l);
                  fireOnChangeListeners = true;
              }
          }
          if (fireOnChangeListeners) {
              fireOnChangeListeners();
          }
      }