readFeatureFromObject(object, options) {
    /**
     * @type {GeoJSONFeature}
     */
    let geoJSONFeature = null;
    if (object['type'] === 'Feature') {
      geoJSONFeature = /** @type {GeoJSONFeature} */ (object);
    } else {
      geoJSONFeature = {
        'type': 'Feature',
        'geometry': /** @type {GeoJSONGeometry} */ (object),
        'properties': null,
      };
    }

    const geometry = readGeometryInternal(geoJSONFeature['geometry'], options);
    if (this.featureClass === RenderFeature) {
      return /** @type {FeatureType|Array<FeatureType>} */ (
        createRenderFeature(
          {
            geometry,
            id: geoJSONFeature['id'],
            properties: geoJSONFeature['properties'],
          },
          options,
        )
      );
    }

    const feature = new Feature();
    if (this.geometryName_) {
      feature.setGeometryName(this.geometryName_);
    } else if (this.extractGeometryName_ && geoJSONFeature['geometry_name']) {
      feature.setGeometryName(geoJSONFeature['geometry_name']);
    }
    feature.setGeometry(createGeometry(geometry, options));

    if ('id' in geoJSONFeature) {
      feature.setId(geoJSONFeature['id']);
    }

    if (geoJSONFeature['properties']) {
      feature.setProperties(geoJSONFeature['properties'], true);
    }
    return /** @type {FeatureType|Array<FeatureType>} */ (feature);
  }
@param {Object} object Object.
@param {import("./Feature.js").ReadOptions} [options] Read options.
@protected
@return {FeatureType|Array<FeatureType>} Feature.
@override