protected @Nullable Rectangle getCrumbBounds(@NotNull Crumb crumb) {
    Optional<CrumbView> viewOpt = views.stream().filter(v -> v.crumb == crumb).findFirst();
    return viewOpt.map(view -> view.bounds).orElse(null);
  }
protected @Nullable Rectangle getCrumbBounds(@NotNull Crumb crumb)