docs: private static <T> T overrideOf(Class<T> clazz, Class<?> targetType, Annotation annotation) {
          try {
              if (annotation != null) {
                  try {
                      return clazz.getConstructor(Class.class, annotation.annotationType()).newInstance(targetType, annotation);
                  } catch (final NoSuchMethodException no) {}
              }
              try {
                  return clazz.getConstructor(Class.class).newInstance(targetType);
              } catch (final NoSuchMethodException no) {}
              return clazz.newInstance();
          } catch (final Exception e) {
              throw new DynamoDBMappingException("could not instantiate " + clazz, e);
          }
      }