private @NotNull Control getControl(@NotNull JComponent c, @NotNull TreePath path) {
    Function<@NotNull TreePath, @Nullable Control> controlResolver = ClientProperty.get(c, Control.CUSTOM_CONTROL);
    Control resolvedControl = controlResolver != null ? controlResolver.apply(path) : myDefaultControl;

    return ObjectUtils.chooseNotNull(resolvedControl, myDefaultControl);
  }
private @NotNull Control getControl(@NotNull JComponent c, @NotNull TreePath path)