code: private static Object generateValue(Field field) {
      Class<?> rawType = field.getType();
  
      //TODO Objects other than Lists might need parametrized types.
      if (List.class.isAssignableFrom(rawType)) {
        ParameterizedType genericType = (ParameterizedType) field.getGenericType();
        return createListObject(genericType);
      }
  
      return generateValue(rawType);
    }
docs: Generates a mock value assignable to provided field.
  Parametrized types are only supported for List fields.
  If not a list, raw type is used.
  
  @param field Field to generate value for
  @return Generated value