docs: public PointList calcPoints() {
          final PointList points = new PointList(edgeIds.size() + 1, nodeAccess.is3D());
          if (edgeIds.isEmpty()) {
              if (isFound()) {
                  points.add(graph.getNodeAccess(), endNode);
              }
              return points;
          }
  
          int tmpNode = getFromNode();
          points.add(nodeAccess, tmpNode);
          forEveryEdge(new EdgeVisitor() {
              @Override
              public void next(EdgeIteratorState eb, int index, int prevEdgeId) {
                  PointList pl = eb.fetchWayGeometry(2);
                  for (int j = 0; j < pl.getSize(); j++) {
                      points.add(pl, j);
                  }
              }
  
              @Override
              public void finish() {
  
              }
          });
          return points;
      }