static parse(scene, wayFilter, rawOptions) {
    let result = new LoadOptions();
    if (typeof rawOptions === 'string') {
      result.place = rawOptions;
    }

    if (wayFilter) {
      result.wayFilter = wayFilter;
    }

    if (!rawOptions) return result;

    Object.assign(result, rawOptions);

    let protoLayer = getProtoLayer(scene, rawOptions.layer);
    if (protoLayer) {
      result.projector = protoLayer.getGridProjector();
      let protoQueryBounds = protoLayer.getQueryBounds();
      if (protoQueryBounds && !result.place && !result.areaId && !result.bbox) {
        // use bounds of the parent layer unless we have our own override.
        result.place = protoQueryBounds.place;
        result.areaId = protoQueryBounds.areaId;
        result.bbox = protoQueryBounds.bbox;
      }
    }

    if (rawOptions.projector) {
      // user defined projection. See https://github.com/d3/d3-geo for the projector reference:
      result.projector = projector;
    }

    return result;
  }
For console API we allow a lot of flexibility to fetch data
This component normalizes input arguments and turns them into unified
options object