static void updateScrubberItems(
    TBItemScrubber scrubber, int fromIndex, int itemsCount,
    boolean withImages, boolean withText
  ) {
    final long startNs = withImages && scrubber.getStats() != null ? System.nanoTime() : 0;
    @NotNull List<TBItemScrubber.ItemData> items = scrubber.getItems();
    final Pair<Pointer, Integer> mem = _packItems(items.subList(fromIndex, fromIndex + itemsCount), itemsCount, withImages, withText);
    synchronized (scrubber) {
      if (scrubber.myNativePeer.equals(ID.NIL)) {
        return;
      }
      nstLibrary.updateScrubberItems(scrubber.myNativePeer, mem == null ? null : mem.getFirst(), mem == null ? 0 : mem.getSecond(),
                                     fromIndex);
    }
    if (withImages && scrubber.getStats() != null) {
      scrubber.getStats().incrementCounter(StatsCounters.scrubberIconsProcessingDurationNs, System.nanoTime() - startNs);
    }
  }
static void updateScrubberItems(
    TBItemScrubber scrubber, int fromIndex, int itemsCount,
    boolean withImages, boolean withText
  )