code: function (geometry, properties, id, bbox) {
  
              if (!geometry) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "GeoJSONFeature", "constructor",
                          "missingGeometry"));
              }
  
              if (!geometry[GeoJSONConstants.FIELD_TYPE]) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "GeoJSONFeature", "constructor",
                          "missingFeatureGeometryType"));
              }
  
              if (!properties) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "GeoJSONFeature", "constructor",
                          "missingProperties"));
              }
  
              // Documented in defineProperties below.
              this._geometry = geometry;
  
              // Documented in defineProperties below.
              this._properties =  properties;
  
              // Documented in defineProperties below.
              this._id = id;
  
              // Documented in defineProperties below.
              this._bbox = bbox;
          }
docs: Constructs a GeoJSON Feature object. Applications typically do not call this constructor. It is called by
  {@link GeoJSON} as GeoJSON is read.
  @alias GeoJSONFeature
  @constructor
  @classdesc Contains the data associated with a GeoJSON Feature Object.
  A feature object must have a member with the name "geometry".
  The value of the geometry member is a geometry object or a JSON null value.
  A feature object must have a member with the name "properties".
  The value of the properties member is an object (any JSON object or a JSON null value).
  If a feature has a commonly used identifier, that identifier should be included as a member of the
  feature object with the name "id".
  To include information on the coordinate range for features, a GeoJSON object may have a member
  named "bbox".
  @param {Object} geometry An object containing the value of GeoJSON geometry member.
  @param {Object} properties An object containing the value of GeoJSON properties member.
  @param {Object} id An object containing the value of GeoJSON Feature id member.
  @param {Object} bbox An object containing the value of GeoJSON Feature bbox member.
  @throws {ArgumentError} If the specified mandatory geometries or properties are null or undefined.