code: public Collector<Point, ?, Length> toPathLength() {
  		return Collector.of(
  			() -> new LengthCollector(this),
  			LengthCollector::add,
  			LengthCollector::combine,
  			LengthCollector::pathLength
  		);
  	}
docs: Return a collector which calculates the length of the (open) path which
  is defined by the {@code Point} stream.
  
  <pre>{@code
  final Length length = gpx.tracks()
  .flatMap(Track::segments)
  .flatMap(TrackSegment::points)
  .collect(Geoid.WGSC_84.toPathLength());
  }</pre>
  
  <b>The returned {@code Collector} doesn't work for <em>parallel</em>
  stream. Using it for a <em>parallel</em> point stream will throw an
  {@link UnsupportedOperationException} at runtime.</b>
  
  @see #toTourLength()
  
  @return a new path length collector