int index= MacUtil.REVERSE ? (count-i) : (i+1);
int index= (count-i);
Control [] _getChildren () {	short[] cnt= new short[1];	OS.CountSubControls(handle, cnt);	int count= cnt[0];	if (count == 0) return new Control [0];	int handles[]= new int[count];	int[] outHandle= new int[1];		for (int i= 0; i < count; i++) {		int index= MacUtil.REVERSE ? (count-i) : (i+1);		if (OS.GetIndexedSubControl(handle, (short)index, outHandle) == 0)	// indices are 1 based			handles[i]= outHandle[0];		else			error (SWT.ERROR_CANNOT_GET_ITEM);	}		Control [] children = new Control [count];	int i = 0, j = 0;	while (i < count) {		int handle = handles [i];		if (handle != 0) {			Widget widget = WidgetTable.get (handle);			if (widget != null && widget != this) {				if (widget instanceof Control) {					children [j++] = (Control) widget;				}			}		}		i++;	}	if (i == j) return children;	Control [] newChildren = new Control [j];	System.arraycopy (children, 0, newChildren, 0, j);	return newChildren;}