code: public void set(String name, Object value) throws IllegalArgumentException, ClassCastException {
          if (bean != null) {
              BeanInvoker handle = getWriteInvoker(name);
              if (handle == null) {
                  return;
              }
              try {
                  if (value instanceof BeanMap) {
                      value = ((BeanMap) value).bean;
                  }
                  handle.invoke(value);
                  firePropertyChange(name, null, value);
              } catch (Throwable e) {
                  throw new IllegalArgumentException(e.getMessage());
              }
          }
      }
docs: <p>set.</p>
  
  @param name  a {@link java.lang.String} object.
  @param value a {@link java.lang.Object} object.
  @throws java.lang.IllegalArgumentException if any.
  @throws java.lang.ClassCastException       if any.