docs: private void slinkstep4(DBIDRef id, DBIDArrayIter it, int n, WritableDBIDDataStore pi, WritableDoubleDataStore lambda) {
      DBIDVar p_i = DBIDUtil.newVar();
      // for i = 1..n
      for(it.seek(0); it.getOffset() < n; it.advance()) {
        double l_i = lambda.doubleValue(it);
        p_i.from(pi, it); // p_i = pi(it)
        double lp_i = lambda.doubleValue(p_i);
  
        // if L(i) >= L(P(i))
        if(l_i >= lp_i) {
          // P(i) = n+1
          pi.put(it, id);
        }
      }
    }