docs: public static Element drawManhattan(SVGPlot svgp, Projection2D proj, NumberVector mid, double radius) {
      final double[] v_mid = mid.toArray(); // a copy
      final long[] dims = proj.getVisibleDimensions2D();
  
      SVGPath path = new SVGPath();
      for(int dim = BitsUtil.nextSetBit(dims, 0); dim >= 0; dim = BitsUtil.nextSetBit(dims, dim + 1)) {
        v_mid[dim] += radius;
        double[] p1 = proj.fastProjectDataToRenderSpace(v_mid);
        v_mid[dim] -= radius * 2;
        double[] p2 = proj.fastProjectDataToRenderSpace(v_mid);
        v_mid[dim] += radius;
        for(int dim2 = BitsUtil.nextSetBit(dims, 0); dim2 >= 0; dim2 = BitsUtil.nextSetBit(dims, dim2 + 1)) {
          if(dim < dim2) {
            v_mid[dim2] += radius;
            double[] p3 = proj.fastProjectDataToRenderSpace(v_mid);
            v_mid[dim2] -= radius * 2;
            double[] p4 = proj.fastProjectDataToRenderSpace(v_mid);
            v_mid[dim2] += radius;
  
            path.moveTo(p1[0], p1[1]).drawTo(p3[0], p3[1]) //
                .moveTo(p1[0], p1[1]).drawTo(p4[0], p4[1]) //
                .moveTo(p2[0], p2[1]).drawTo(p3[0], p3[1]) //
                .moveTo(p2[0], p2[1]).drawTo(p4[0], p4[1]) //
                .close();
          }
        }
      }
      return path.makeElement(svgp);
    }