code: public static void invokeSetter(Object object, String name, String value) throws NoSuchMethodException, Exception
    {
      String setterName = Strings.getMethodAccessor("set", name);
      Class<?> clazz = object.getClass();
  
      Method method = findMethod(clazz, setterName);
      Class<?>[] parameterTypes = method.getParameterTypes();
      if(parameterTypes.length != 1) {
        throw new NoSuchMethodException(String.format("%s#%s", clazz.getName(), setterName));
      }
  
      invoke(object, method, ConverterRegistry.getConverter().asObject((String)value, parameterTypes[0]));
    }
docs: Invoke setter method on given object instance. Setter name has format as accepted by
  {@link Strings#getMethodAccessor(String, String)} and value string is converted to method parameter type using
  {@link Converter} facility. For this reason set parameter type should have a converter registered.
  <p>
  This method has no means to determine method using {@link Class#getMethod(String, Class...)} because parameter
  value is always string and setter parameter type is unknown. For this reason this method uses
  {@link #findMethod(Class, String)}. Note that find method searches for named method on object super hierarchy too.
  
  @param object object instance,
  @param name setter name, method name only without <code>set</code> prefix, dashed case accepted,
  @param value value to set, string value that is converted to setter method parameter type.
  @throws NoSuchMethodException if setter not found.
  @throws Exception if invocation fail for whatever reason including method logic.