code: private int compareToLastRow(int depth)
          {
              for (int i = 0 ; i <= depth ; i++)
              {
                  int p = currentRow[i], l = lastRow[i], r = clusteringComponents[i].size();
                  if ((p == l) | (r == 1))
                      continue;
                  return p - l;
              }
              return 0;
          }
docs: OR if that row does not exist, it is the last row prior to it