public ObjectMapper getObjectMapper() {
        final ObjectMapper objectMapper = new ObjectMapper();
        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        objectMapper.configure(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES, false);
        objectMapper.configure(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES, false);
        objectMapper.setDefaultPropertyInclusion(
                JsonInclude.Value.construct(
                        JsonInclude.Include.NON_NULL, JsonInclude.Include.ALWAYS));
        objectMapper.registerModule(new JsonProtoModule());
        objectMapper.registerModule(new AfterburnerModule());
        return objectMapper;
    }
The customizations in this method are configured using {@link
org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration}

<p>Customizations are spread across, 1. {@link ObjectMapperBuilderConfiguration} 2. {@link
ObjectMapperConfiguration} 3. {@link JsonProtoModule}

<p>IMPORTANT: Changes in this method need to be also performed in the default {@link
ObjectMapper} that Spring Boot creates.

@see org.springframework.boot.autoconfigure.jackson.JacksonAutoConfiguration
common/src/main/java/com/netflix/conductor/common/config/ObjectMapperProvider.java