code: private Mapper createMapper(Class<?> clazz) {
      Mapper mapper;
      if (Enum.class.isAssignableFrom(clazz)) {
        mapper = new EnumMapper(clazz);
      } else if (Map.class.isAssignableFrom(clazz)) {
        mapper = new MapMapper(clazz);
      } else if (clazz.isAnnotationPresent(Embeddable.class)) {
        mapper = new EmbeddedObjectMapper(clazz);
      } else {
        throw new NoSuitableMapperException(
            String.format("No mapper found for class %s", clazz.getName()));
      }
      return mapper;
    }
docs: Creates a mapper for the given class.
  
  @param clazz
  the class
  @return the mapper for the given class.