public void intersectAll(RowSetNavigatorData other) {
Object[] compareData = null;
RowIterator it;
Row otherRow = null;
Object[] otherData = null;
sortFull();
reset();
other.sortFull();
it = fullIndex.emptyIterator();
while (hasNext()) {
Object[] currentData = getNext();
boolean newGroup =
compareData == null
|| fullIndex.compareRowNonUnique(
session, currentData, compareData,
fullIndex.getColumnCount()) != 0;
if (newGroup) {
compareData = currentData;
it = other.findFirstRow(currentData);
}
otherRow = it.getNextRow();
otherData = otherRow == null ? null
: otherRow.getData();
if (otherData != null
&& fullIndex.compareRowNonUnique(
session, currentData, otherData,
fullIndex.getColumnCount()) == 0) {