code: private MultiPolygon asMultiPolygon(List<List<List<List>>> coords, CrsId crsId) throws IOException {
          if (coords == null || coords.isEmpty()) {
              throw new IOException("A multipolygon should have at least one polyon.");
          }
          Polygon[] polygons = new Polygon[coords.size()];
          for (int i = 0; i < coords.size(); i++) {
              polygons[i] = asPolygon(coords.get(i), crsId);
          }
          return new MultiPolygon(polygons);
      }
docs: Parses the JSON as a MultiPolygon geometry
  
  
  @param coords the coordinates of a multipolygon which is just a list of coordinates of polygons.
  @param crsId
  @return an instance of multipolygon
  @throws IOException if the given json does not correspond to a multipolygon or can be parsed as such