code: public static void callSetter(Object o, String prop, Object value)
  	    throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
  	prop = "set" + StringUtil.ucFirst(prop);
  	Class c = o.getClass();
  	// Class[] cArg=new Class[]{value.getClass()};
  	Object[] oArg = new Object[] { value };
  	MethodParameterPair mp = getMethodParameterPairIgnoreCase(c, prop, oArg);
  	// Method m=getMethodIgnoreCase(c,prop,cArg);
  	if (!mp.getMethod().getReturnType().getName().equals("void")) throw new NoSuchMethodException(
  		"invalid return Type, method [" + mp.getMethod().getName() + "] must have return type void, now [" + mp.getMethod().getReturnType().getName() + "]");
  	mp.getMethod().invoke(o, mp.getParameters());
      }
docs: to invoke a setter Method of a Object
  
  @param o Object to invoke method from
  @param prop Name of the Method without get
  @param value Value to set to the Method
  @throws SecurityException
  @throws NoSuchMethodException
  @throws IllegalArgumentException
  @throws IllegalAccessException
  @throws InvocationTargetException