@Override
  synchronized void release() {
    super.release();

    final long startNs = myStats != null ? System.nanoTime() : 0;
    myActionButtonPool.forEach((act, item) -> item.releaseNativePeer());
    myActionButtonPool.clear();
    myGroupPool.forEach((n, item) -> item.releaseNativePeer());
    myGroupPool.clear();
    if (myStats != null) {
      myStats.incrementCounter(StatsCounters.touchbarReleaseDurationNs, System.nanoTime() - startNs);
    }

    myUpdateTimer.stop();
  }
@Override
  synchronized void release()