code: public static WayPoint of(final Point point) {
  		requireNonNull(point);
  
  		return point instanceof WayPoint
  			? (WayPoint)point
  			: of(
  				point.getLatitude(),
  				point.getLongitude(),
  				point.getElevation().orElse(null),
  				point.getTime().orElse(null));
  	}
docs: Return a (new) WayPoint from the given input {@code point}. If the given
  {@code point} is already a {@code WayPoint} instance, the input is casted
  to a {@code WayPoint} and returned.
  
  @since 1.4
  
  @param point the input {@code point} to create the {@code WayPoint} from
  @return a newly created {@code WayPoint} instance, or the input
  {@code point} if it is already a {@code WayPoint} instance
  @throws NullPointerException if the given {@code point} is {@code null}