private static <T> T callMac(NotNullProducer<? extends T> producer) {
    if (SystemInfoRt.isMac) {
      NSAutoreleasePool pool = new NSAutoreleasePool();
      try {
        return producer.produce();
      }
      catch (Throwable throwable) {
        Logger.getInstance(MacScrollBarUI.class).warn(throwable);
      }
      finally {
        pool.drain();
      }
    }
    return null;
  }
private static <T> T callMac(NotNullProducer<? extends T> producer)