jrapidoc-model/src/main/java/org/projectodd/jrapidoc/model/type/provider/converter/JacksonToJrapidocProcessor.java
public Type getType(SimpleType jacksonType) {
        try {
            String signature = JacksonSignature.createSignature(jacksonType);
            CustomType type = new CustomType(jacksonType.getRawClass().getName(), signature, jacksonType.getRawClass());
            if (cache.containsKey(signature)) {
                return cache.get(signature);
            }
            cache.put(signature, type);
            ObjectWriter objectWriter = objectMapper.writerFor(jacksonType);
            Field prefetchField = objectWriter.getClass().getDeclaredField("_prefetch");
            prefetchField.setAccessible(true);
            ObjectWriter.Prefetch prefetch = (ObjectWriter.Prefetch) prefetchField.get(objectWriter);
            doIntrospection(prefetch.valueSerializer, type);
            return type;
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }
public Type getType(SimpleType jacksonType) {
        try {
            String signature = JacksonSignature.createSignature(jacksonType);
            CustomType type = new CustomType(jacksonType.getRawClass().getName(), signature, jacksonType.getRawClass());
            if (cache.containsKey(signature)) {
                return cache.get(signature);
            }
            cache.put(signature, type);
            ObjectWriter objectWriter = objectMapper.writerFor(jacksonType);
            Field prefetchField = objectWriter.getClass().getDeclaredField("_prefetch");
            prefetchField.setAccessible(true);
            ObjectWriter.Prefetch prefetch = (ObjectWriter.Prefetch) prefetchField.get(objectWriter);
            doIntrospection(prefetch.valueSerializer, type);
            return type;
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
        return null;
    }
public Type getType ( SimpleType jacksonType ) { try { String signature = JacksonSignature . createSignature ( jacksonType ) ; CustomType type = new CustomType ( jacksonType . getRawClass ( ) . getName ( ) , signature , jacksonType . getRawClass ( ) ) ; if ( cache . containsKey ( signature ) ) { return cache . get ( signature ) ; } cache . put ( signature , type ) ; ObjectWriter objectWriter = objectMapper . writerFor ( jacksonType ) ; Field prefetchField = objectWriter . getClass ( ) . getDeclaredField ( "_prefetch" ) ; prefetchField . setAccessible ( true ) ; ObjectWriter . Prefetch prefetch = ( ObjectWriter . Prefetch ) prefetchField . get ( objectWriter ) ; doIntrospection ( prefetch . valueSerializer , type ) ; return type ; } catch ( NoSuchFieldException e ) { e . printStackTrace ( ) ; } catch ( IllegalAccessException e ) { e . printStackTrace ( ) ; } return null ; }
From Jackson type creates a JRAPIDoc type, type is stored in cache

@param jacksonType
@return
From Jackson type creates a JRAPIDoc type type is stored in cache