for (int i=0; i < items.length; i++) { tempHeight = Math.max(tempHeight, items[i].preferredHeight(gc));
if (items.length == 0) { tempHeight = gc.textExtent("Default", CTabItem.FLAGS).y + CTabItem.TOP_MARGIN + CTabItem.BOTTOM_MARGIN; } else { for (int i=0; i < items.length; i++) { tempHeight = Math.max(tempHeight, items[i].preferredHeight(gc)); }
boolean updateTabHeight(boolean force){	int oldHeight = tabHeight;	if (fixedTabHeight != SWT.DEFAULT) {		tabHeight = fixedTabHeight == 0 ? 0 : fixedTabHeight + 1; // +1 for line drawn across top of tab	} else {		int tempHeight = 0;		GC gc = new GC(this);		for (int i=0; i < items.length; i++) {			tempHeight = Math.max(tempHeight, items[i].preferredHeight(gc));		}		gc.dispose();		tabHeight =  tempHeight;	}	if (!force && tabHeight == oldHeight) return false;		oldSize = null;	if (onBottom) {		int d = tabHeight - 12;		curve = new int[]{0,13+d, 0,12+d, 2,12+d, 3,11+d, 5,11+d, 6,10+d, 7,10+d, 9,8+d, 10,8+d,				          11,7+d, 11+d,7,						  12+d,6, 13+d,6, 15+d,4, 16+d,4, 17+d,3, 19+d,3, 20+d,2, 22+d,2, 23+d,1}; 		curveWidth = 26+d;		curveIndent = curveWidth/3;		} else {		int d = tabHeight - 12;		curve = new int[]{0,0, 0,1, 2,1, 3,2, 5,2, 6,3, 7,3, 9,5, 10,5,				          11,6, 11+d,6+d,				          12+d,7+d, 13+d,7+d, 15+d,9+d, 16+d,9+d, 17+d,10+d, 19+d,10+d, 20+d,11+d, 22+d,11+d, 23+d,12+d};		curveWidth = 26+d;		curveIndent = curveWidth/3;	}	notifyListeners(SWT.Resize, new Event());	return true;}