docs: @Nullable
    public List<Point> calculateRemainingWaypoints(RouteProgress routeProgress) {
      if (routeProgress.directionsRoute().routeOptions() == null) {
        return null;
      }
      List<Point> coordinates = new ArrayList<>(routeProgress.directionsRoute().routeOptions().coordinates());
      int coordinatesSize = coordinates.size();
      int remainingWaypoints = routeProgress.remainingWaypoints();
      if (coordinatesSize < remainingWaypoints) {
        return null;
      }
      List<Point> remainingCoordinates = coordinates.subList(coordinatesSize - remainingWaypoints, coordinatesSize);
      return remainingCoordinates;
    }