code: private Mapper createMapper(ParameterizedType type) {
      Type rawType = type.getRawType();
      if (!(rawType instanceof Class)) {
        // Don't see how this could ever happen, but just in case...
        throw new IllegalArgumentException(
            String.format("Raw type of ParameterizedType is not a class: %s", type));
      }
      Class<?> rawClass = (Class<?>) rawType;
      Mapper mapper;
      if (Map.class.isAssignableFrom(rawClass)) {
        mapper = new MapMapper(type);
      } else {
        throw new NoSuitableMapperException(String.format("Unsupported type: %s", type));
      }
      return mapper;
    }
docs: Creates a {@link Mapper} for the given class/type.
  
  @param type
  the type
  @return a {@link Mapper} for the given class/type.