code: public void add(Object obj, Object value) throws IllegalAccessException, InvocationTargetException {
          if (addMethod != null) {
              addMethod.invoke(obj, value);
          } else {
              throw new IllegalAccessException("Cannot add property value");
          }
      }
docs: Adds the property value on the object.  Attempts to call "addFirstName()".
  If the adder method doesn't exist, this will throw an exception.
  <br>
  NOTE: If the adder method throws an exception during execution, the
  exception will be accessible in the getCause() method of the
  InvocationTargetException.
  @param obj The object to add the property on
  @param value The value to add
  @throws java.lang.IllegalAccessException Thrown if an access exception
  occurs while attempting to set the property value.
  @throws java.lang.IllegalArgumentException Thrown if an illegal argument
  is used while attempting to set the property value.
  @throws java.lang.reflect.InvocationTargetException Thrown if there
  is an exception thrown while calling the underlying method.