void ( 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); } }