private void iterateRows(int handles, int firstRow, int lastRow) {
            for (; firstRow <= lastRow; firstRow++) {
                rowEntry.row = firstRow;

                RowInfo row = rows.get(firstRow);
                for (int i = 0; i < handles;) {
                    EditorHandle handle = editorHandles[i++];
                    if (filters[handle.column].is(row)) {
                        if (handle.handleRow(rowEntry)) {
                            // if handleRow returns true, this editor will
                            // require no additional iteration (move it to the
                            // end) if no handles remain, just return
                            switchHandle(--i, --handles);
                            if (handles == 0) {
                                return;
                            }
                        }
                    }
                }
            }
        }
private void iterateRows(int handles, int firstRow, int lastRow)