static ID createButton(String uid,
                         int buttWidth,
                         int buttFlags,
                         String text,
                         String hint, int isHintDisabled,
                         @Nullable Pair<Pointer, Dimension> raster,
                         NSTLibrary.Action action) {
    return nstLibrary.createButton(
      uid, buttWidth, buttFlags,
      text, hint,
      isHintDisabled,
      raster == null ? null : raster.getFirst(),
      raster == null ? 0 : raster.getSecond().width,
      raster == null ? 0 : raster.getSecond().height,
      action); // called from AppKit, uses per-event autorelease-pool
  }
static ID createButton(String uid,
                         int buttWidth,
                         int buttFlags,
                         String text,
                         String hint, int isHintDisabled,
                         @Nullable Pair<Pointer, Dimension> raster,
                         NSTLibrary.Action action)