code: function (locations, attributes) {
              if (!locations) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "SurfacePolyline", "constructor",
                          "The specified locations array is null or undefined."));
              }
  
              SurfaceShape.call(this, attributes);
  
              /**
               * This shape's locations, specified as an array locations.
               * @type {Array}
               */
              this._boundaries = locations;
  
              this._stateId = SurfacePolyline.stateId++;
  
              // Internal use only.
              this._isInteriorInhibited = true;
          }
docs: Constructs a surface polyline.
  @alias SurfacePolyline
  @constructor
  @augments SurfaceShape
  @classdesc Represents a polyline draped over the terrain surface.
  <p>
  SurfacePolyline uses the following attributes from its associated shape attributes bundle:
  <ul>
  <li>Draw outline</li>
  <li>Outline color</li>
  <li>Outline width</li>
  <li>Outline stipple factor</li>
  <li>Outline stipple pattern</li>
  </ul>
  @param {Location[]} locations This polyline's locations.
  @param {ShapeAttributes} attributes The attributes to apply to this shape. May be null, in which case
  attributes must be set directly before the shape is drawn.
  @throws {ArgumentError} If the specified locations are null or undefined.