final int[][] getTriangleGroups() {
	anInt1854++;
	int[] groupCount = new int[256];
	int maximumGroup = 0;
	for (int triangle = 0; ((Model) this).polygons.length > triangle; triangle++) {
	    int group = (((ModelPolygon) ((Model) this).polygons[triangle]).tGroup);
	    if (group >= 0) {
		groupCount[group]++;
		if (maximumGroup < group)
		    maximumGroup = group;
	    }
	}
	int[][] groups = new int[1 + maximumGroup][];
	for (int i_7_ = 0; (maximumGroup ^ 0xffffffff) <= (i_7_ ^ 0xffffffff); i_7_++) {
	    groups[i_7_] = new int[groupCount[i_7_]];
	    groupCount[i_7_] = 0;
	}
	for (int triangle = 0; triangle < ((Model) this).polygons.length; triangle++) {
	    int group = (((ModelPolygon) ((Model) this).polygons[triangle]).tGroup);
	    if (group >= 0)
		groups[group][groupCount[group]++] = triangle;
	}
	return groups;
    }