public static <T> Updatable addRemoveListener(@NotNull JButton button, @NotNull JList<T> list) {
    return addRemoveListener(button, list, null);
  }
public static <T> Updatable addRemoveListener(@NotNull JButton button, @NotNull JList<T> list)