code: public static void setProperty(Object bean, String name, Object value)
  			throws IllegalAccessException, InvocationTargetException, NoSuchMethodException {
  
  		if (bean == null) {
  			throw new IllegalArgumentException("No bean specified");
  		}
  		if (name == null) {
  			throw new IllegalArgumentException("No name specified");
  		}
  
  		// Retrieve the property setter method for the specified property
  		PropertyDescriptor descriptor = getPropertyDescriptor(bean, name);
  		if (descriptor == null) {
  			throw new NoSuchMethodException("Unknown property '" + name + "'");
  		}
  		Method writeMethod = descriptor.getWriteMethod();
  		if (writeMethod == null) {
  			throw new NoSuchMethodException("Property '" + name + "' has no setter method");
  		}
  
  		// Call the property setter method
  		Object values[] = new Object[1];
  		values[0] = value;
  
  		invokeMethod(writeMethod, bean, values);
  
  	}
docs: Set the value of the specified simple property of the specified bean,
  with no type conversions.
  
  @param bean
  Bean whose property is to be modified
  @param name
  Name of the property to be modified
  @param value
  Value to which the property should be set
  
  @exception IllegalAccessException
  if the caller does not have access to the property
  accessor method
  @exception IllegalArgumentException
  if <code>bean</code> or <code>name</code> is null
  @exception IllegalArgumentException
  if the property name is nested or indexed
  @exception InvocationTargetException
  if the property accessor method throws an exception
  @exception NoSuchMethodException
  if an accessor method for this propety cannot be found