Personalize o Jackson ObjectMapper para ler os campos de anotação e máscara personalizados anotados

Tenho um requisito no qual criei uma anotação personalizada @MaskSensitiveData. Eu anoto campos sensíveis. gostar

class MyBean {
    String userName;
    @MaskSensitiveData
    String cardNumber;
    String abc;
    String xyz;
}

ObjectMapper mapper = new ObjectMapper();
    String json = null;
    AnnotationIntrospector primary = new JaxbAnnotationIntrospector();
    AnnotationIntrospector secondary = new JacksonAnnotationIntrospector();
    AnnotationIntrospector pair = new AnnotationIntrospectorPair(primary, secondary);
    mapper.setAnnotationIntrospector(pair);
    try {
        json = mapper.writeValueAsString(obj);
        /*
         * if(json != null ) { json = getLoggableString(json); }
         */
    } catch (Exception e) {
        return "Unable to convert to Json object:" + obj.toString() + " Message: " + e.getMessage();

    }

Eu estou usando Jackson ObjectMapper para converter objct para Json como.Eu preciso personalizar o Object Mapper para mascarar o campo cardNumber em retorno json. Por favor, sugira uma maneira melhor.

questionAnswers(2)

yourAnswerToTheQuestion