static void updateButton(ID buttonObj,
                           int updateOptions,
                           int buttWidth,
                           int buttonFlags,
                           String text,
                           String hint, int isHintDisabled,
                           @Nullable Pair<Pointer, Dimension> raster,
                           NSTLibrary.Action action) {
    nstLibrary.updateButton(
      buttonObj, updateOptions,
      buttWidth, buttonFlags,
      text,
      hint, isHintDisabled,
      raster == null ? null : raster.getFirst(),
      raster == null ? 0 : raster.getSecond().width,
      raster == null ? 0 : raster.getSecond().height,
      action); // creates autorelease-pool internally
  }
static void updateButton(ID buttonObj,
                           int updateOptions,
                           int buttWidth,
                           int buttonFlags,
                           String text,
                           String hint, int isHintDisabled,
                           @Nullable Pair<Pointer, Dimension> raster,
                           NSTLibrary.Action action)