private void removeRowsInternal(int[] indexes) {
		Row[] rows = new Row[indexes.length];
		int i;

		Arrays.sort(indexes);
		for (i = 0; i < indexes.length; i++) {
			rows[i] = getRowAtIndex(indexes[i]);
		}

		preserveSelection();
		notifyOfRowsWillBeRemoved(rows);
		for (i = indexes.length - 1; i >= 0; i--) {
			mRows.remove(indexes[i]);
			rows[i].setOwner(null);
		}
		mSelection.setSize(mRows.size());
		restoreSelection();
		notifyOfRowsWereRemoved(rows);
	}