docs: @SuppressWarnings({ "unchecked" })
      public <T> Mapping<T> getMapping(Class<T> clazz,
              AnnotationSet<?, ?> annotationSet, boolean includeParentFields) {
          Mapping<T> mapping = (Mapping<T>) cache.get(clazz); // cast is safe as
                                                              // this instance is
                                                              // the one adding to
                                                              // the map
          if (mapping == null) {
              // multiple threads can get here but that's OK
              mapping = new Mapping<T>(clazz, annotationSet, includeParentFields);
              cache.put(clazz, mapping);
          }
  
          return mapping;
      }