code: @NonNull
    public static CarmenFeature fromJson(@NonNull String json) {
  
      Gson gson = new GsonBuilder()
        .registerTypeAdapterFactory(GeometryAdapterFactory.create())
        .registerTypeAdapter(BoundingBox.class, new BoundingBoxTypeAdapter())
        .registerTypeAdapterFactory(GeocodingAdapterFactory.create())
        .create();
      CarmenFeature feature = gson.fromJson(json, CarmenFeature.class);
      // Even thought properties are Nullable,
      // Feature object will be created with properties set to an empty object,
      return feature.properties() == null
        ? feature.toBuilder().properties(new JsonObject()).build()
        : feature;
    }
docs: Create a CarmenFeature object from JSON.
  
  @param json string of JSON making up a carmen feature
  @return this class using the defined information in the provided JSON string
  @since 2.0.0