private static void parseGeoJson(final GeoJSONObject geoJson, final GeoJsonProperties props, final List<GeoPrimitive> list) throws JSONException {
        if (geoJson instanceof Feature) {
            parseGeoJsonFeature((Feature) geoJson, list);
        } else if (geoJson instanceof FeatureCollection) {
            parseGeoJsonFeatureCollection((FeatureCollection) geoJson, list);
        } else if (geoJson instanceof Point) {
            parseGeoJsonPoint((Point) geoJson, props, list);
        } else if (geoJson instanceof MultiPoint) {
            parseGeoJsonMultiPoint((MultiPoint) geoJson, props, list);
        } else if (geoJson instanceof LineString) {
            parseGeoJsonLineString((LineString) geoJson, props, list);
        } else if (geoJson instanceof MultiLineString) {
            parseGeoJsonMultiLineString((MultiLineString) geoJson, props, list);
        } else if (geoJson instanceof Polygon) {
            parseGeoJsonPolygon((Polygon) geoJson, props, list);
        } else if (geoJson instanceof MultiPolygon) {
            parseGeoJsonMultiPolygon((MultiPolygon) geoJson, props, list);
        } else if (geoJson instanceof GeometryCollection) {
            parseGeoJsonGeometryCollection((GeometryCollection) geoJson, props, list);
        } else {
            throw new JSONException("Unexpected Type in GeoJson: " + geoJson.getType());
        }

    }
Utility class to work with GeoJson
main/src/main/java/cgeo/geocaching/utils/GeoJsonUtils.java