static createProjectedPositions(cartographicPositions, projection) {
    //>>includeStart('debug', pragmas.debug);
    Check.defined("cartographicPositions", cartographicPositions);
    Check.defined("projection", projection);
    //>>includeEnd('debug');

    const projectedPosition = new Cartesian3();
    const projectedPositions = ModelImageryMapping.map(
      cartographicPositions,
      (c) => {
        projection.project(c, projectedPosition);
        return projectedPosition;
      },
    );
    return projectedPositions;
  }
Creates an iterable over the results of applying the given projection
to the given cartographic positions.

The resulting iterable will always return the same `Cartesian3`
object. Clients should not store and modify this object.

@param {Iterable<Cartographic>} cartographicPositions The cartographic
positions
@param {MapProjection} projection The projection to use
@returns {Iterable<Cartesian3>} The projected positions