code: public static ObjectMapper configFilterIntrospector(final ObjectMapper mapper) {
          final AnnotationIntrospector customIntrospector = mapper.getSerializationConfig().getAnnotationIntrospector();
          // Set the custom (user) introspector to be the primary one.
          return mapper.setAnnotationIntrospector(AnnotationIntrospector.pair(customIntrospector,
                  new JacksonAnnotationIntrospector() {
                      @Override
                      public Object findFilterId(final Annotated a) {
                          final Object filterId = super.findFilterId(a);
  
                          if (filterId != null) {
                              return filterId;
                          }
  
                          if (a instanceof AnnotatedMethod) {
                              final Method method = ((AnnotatedMethod) a).getAnnotated();
  
                              // Interested only in getters - trying to obtain "field" name from them.
                              if (ReflectionHelper.isGetter(method)) {
                                  return ReflectionHelper.getPropertyName(method);
                              }
                          }
                          if (a instanceof AnnotatedField || a instanceof AnnotatedClass) {
                              return a.getName();
                          }
  
                          return null;
                      }
                  }));
  
      }
docs: <p>configFilterIntrospector.</p>
  
  @param mapper a {@link com.fasterxml.jackson.databind.ObjectMapper} object.
  @return a {@link com.fasterxml.jackson.databind.ObjectMapper} object.