docs: protected static <O> void updateMatrices(int size, MatrixParadigm mat, DBIDArrayMIter prots, PointerHierarchyRepresentationBuilder builder, Int2ObjectOpenHashMap<ModifiableDBIDs> clusters, DistanceQuery<O> dq, int c) {
      final DBIDArrayIter ix = mat.ix, iy = mat.iy;
      // c is the new cluster.
      // Update entries (at (x,y) with x > y) in the matrix where x = c or y = c
  
      // Update entries at (c,y) with y < c
      ix.seek(c);
      for(iy.seek(0); iy.getOffset() < c; iy.advance()) {
        // Skip entry if already merged
        if(builder.isLinked(iy)) {
          continue;
        }
        updateEntry(mat, prots, clusters, dq, c, iy.getOffset());
      }
  
      // Update entries at (x,c) with x > c
      iy.seek(c);
      for(ix.seek(c + 1); ix.valid(); ix.advance()) {
        // Skip entry if already merged
        if(builder.isLinked(ix)) {
          continue;
        }
        updateEntry(mat, prots, clusters, dq, ix.getOffset(), c);
      }
    }