code: @Override
      public void serialize(T value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
          jgen.writeStartObject();
          // Crs or bbox-information must be placed on the toplevel object, but may not be repeated in contained objects!
          if (!parent.insideGeometryCollection())
          {
              writeCrs(jgen, value);
              writeBbox(jgen, value, provider);
          }
          writeShapeSpecificSerialization(value, jgen, provider);
          jgen.writeEndObject();
      }
docs: Method that can be called to ask implementation to serialize values of type this serializer handles.
  
  @param value    Value to serialize; can not be null.
  @param jgen     Generator used to output resulting Json content
  @param provider Provider that can be used to get serializers for serializing Objects value contains, if any.
  @throws java.io.IOException If serialization failed.