Feature implements GeoJson { public static Feature fromGeometry(@Nullable Geometry geometry) { return new Feature(TYPE, null, null, geometry, new JsonObject()); } Feature(String type, @Nullable BoundingBox bbox, @Nullable String id,
          @Nullable Geometry geometry, @Nullable JsonObject properties); static Feature fromJson(@NonNull String json); static Feature fromGeometry(@Nullable Geometry geometry); static Feature fromGeometry(@Nullable Geometry geometry, @Nullable BoundingBox bbox); static Feature fromGeometry(@Nullable Geometry geometry, @Nullable JsonObject properties); static Feature fromGeometry(@Nullable Geometry geometry, @Nullable JsonObject properties,
                                     @Nullable BoundingBox bbox); static Feature fromGeometry(@Nullable Geometry geometry, @Nullable JsonObject properties,
                                     @Nullable String id); static Feature fromGeometry(@Nullable Geometry geometry, @NonNull JsonObject properties,
                                     @Nullable String id, @Nullable BoundingBox bbox); @NonNull @Override String type(); @Nullable @Override BoundingBox bbox(); @Nullable String id(); @Nullable Geometry geometry(); @Nullable JsonObject properties(); @Override String toJson(); static TypeAdapter<Feature> typeAdapter(Gson gson); void addStringProperty(String key, String value); void addNumberProperty(String key, Number value); void addBooleanProperty(String key, Boolean value); void addCharacterProperty(String key, Character value); void addProperty(String key, JsonElement value); String getStringProperty(String key); Number getNumberProperty(String key); Boolean getBooleanProperty(String key); Character getCharacterProperty(String key); JsonElement getProperty(String key); JsonElement removeProperty(String key); boolean hasProperty(String key); boolean hasNonNullValueForProperty(String key); @Override String toString(); @Override boolean equals(Object obj); @Override int hashCode();  }
@Test public void sanity() throws Exception { List<Point> points = new ArrayList<>(); points.add(Point.fromLngLat(1.0, 2.0)); points.add(Point.fromLngLat(2.0, 3.0)); LineString lineString = LineString.fromLngLats(points); Feature feature = Feature.fromGeometry(lineString); assertNotNull(feature); }