code: function (coordinates, type, bbox) {
  
              if (!coordinates) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "GeoJSONGeometry", "constructor",
                          "missingCoordinates"));
              }
  
              if (!type) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "GeoJSONGeometry", "constructor",
                          "missingType"));
              }
  
              // Documented in defineProperties below.
              this._coordinates = coordinates;
  
              // Documented in defineProperties below.
              this._type = type;
  
              // Documented in defineProperties below.
              this._bbox = bbox ? bbox : null;
          }
docs: Constructs a GeoJSON Geometry object. Applications typically do not call this constructor. It is called by
  {@link GeoJSON} as GeoJSON is read.
  @alias GeoJSONGeometry
  @constructor
  @classdesc A geometry is a GeoJSON object where the type member's value is one of the following strings:
  "Point", "MultiPoint", "LineString", "MultiLineString", "Polygon", "MultiPolygon", or "GeometryCollection".
  A GeoJSON geometry object of any type other than "GeometryCollection" must have a member with the name
  "coordinates". The value of the coordinates member is always an array.
  The structure for the elements in this array is determined by the type of geometry.
  @param {Number[]} coordinates An array containing geometry coordinates.
  @param {String} type A string containing type of geometry.
  @param {Object} bbox An array containing information on the coordinate range for geometries.
  @throws {ArgumentError} If the specified mandatory coordinates or type are null or undefined.