code: function (dataSource) {
              if (!dataSource) {
                  throw new ArgumentError(
                      Logger.logMessage(Logger.LEVEL_SEVERE, "GeoJSON", "constructor", "missingDataSource"));
              }
  
              // Documented in defineProperties below.
              this._dataSource = dataSource;
  
              // Documented in defineProperties below.
              this._geoJSONObject = null;
  
              // Documented in defineProperties below.
              this._geoJSONType = null;
  
              // Documented in defineProperties below.
              this._crs = null;
  
              // Documented in defineProperties below.
              this._layer = null;
  
              // Documented in defineProperties below.
              this._parserCompletionCallback = null;
  
              // Documented in defineProperties below.
              this._shapeConfigurationCallback = this.defaultShapeConfigurationCallback;
  
  
              this.defaultPlacemarkAttributes = new PlacemarkAttributes(null);
  
              this.defaultShapeAttributes = new ShapeAttributes(null);
  
              this.setProj4jsAliases();
          }
docs: Constructs a GeoJSON object for a specified GeoJSON data source. Call [load]{@link GeoJSONParser#load} to
  retrieve the GeoJSON and create shapes for it.
  @alias GeoJSONParser
  @constructor
  @classdesc Parses a GeoJSON and creates shapes representing its contents. Points and MultiPoints in
  the GeoJSON are represented by [Placemarks]{@link Placemark}, Lines and MultiLines are represented by
  [SurfacePolylines]{@link SurfacePolyline}, and Polygons and MultiPolygons are represented
  by [SurfacePolygons]{@link SurfacePolygon}.
  <p>
  An attribute callback may also be specified to examine each geometry and configure the shape created for it.
  This function enables the application to assign independent attributes to each
  shape. An argument to this function provides any attributes specified in a properties member of GeoJSON
  feature.
  @param {String|Object} dataSource The data source of the GeoJSON. Can be a URL to an external resource,
  or a JSON string, or a JavaScript object representing a parsed GeoJSON string.
  @throws {ArgumentError} If the specified data source is null or undefined.