void (final SingleRowPassInfo data) { boolean layoutStopped = false; for (TabInfo eachInfo : data.toLayout) { final TabLabel label = myTabs.getInfoToLabel().get(eachInfo); if (layoutStopped) { final Rectangle rec = getStrategy().getLayoutRect(data, 0, 0); myTabs.layout(label, rec); continue; } final Dimension eachSize = label.getPreferredSize(); int length = getStrategy().getLengthIncrement(eachSize); boolean continueLayout = applyTabLayout(data, label, length); data.position = getStrategy().getMaxPosition(label.getBounds()); data.position += myTabs.getTabHGap(); if (!continueLayout) { layoutStopped = true; } } for (TabInfo eachInfo : data.toDrop) { JBTabsImpl.Companion.resetLayout(myTabs.getInfoToLabel().get(eachInfo)); } }