public void setCrumbs(@NotNull Iterable<? extends Crumb> crumbs) {
    CrumbView view = null;
    int index = 0;
    for (Crumb crumb : crumbs) {
      if (crumb != null) {
        if (index < views.size()) {
          view = views.get(index++);
          view.initialize(crumb);
        }
        else {
          view = new CrumbView(view, crumb);
          views.add(view);
          index++;
        }
      }
    }
    while (index < views.size()) {
      views.get(index++).initialize(null);
    }
    if (hovered != null) hover.accept(null, null);
    if (selected != null) select.accept(null, null);
    revalidate();
    repaint();
  }
public void setCrumbs(@NotNull Iterable<? extends Crumb> crumbs)