code: 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;
      }
docs: From Jackson type creates a JRAPIDoc type, type is stored in cache
  
  @param jacksonType
  @return