code: protected final void beanUpdate(Object bean, Object identifier, Object value) {
          LOGGER.trace("Update bean \"" + bean + "\" property \"" + identifier + "\"");
  
          String propertyName = identifier.toString();
  
          Class beanType = bean.getClass();
          Class propType = PROPERTY_CACHE.getPropertyType(beanType, propertyName);
          // Get the type of the JavaBean property given reflected information from the JavaBean's type
          if(propType != null) {
              try {
                  // The type of the JavaBean property is a List.  To update it, get the List and
                  // append the value to the end of the List.
                  if(List.class.isAssignableFrom(propType)) {
                      Method listGetter = PROPERTY_CACHE.getPropertyGetter(beanType, propertyName);
                      if(listGetter != null) {
                          List list = (List)listGetter.invoke(bean, (Object[])null);
                          applyValuesToList(value, list);
                          return;
                      }
                  }
                  // The JavaBean is an Object, so set the Bean's property with the given value
                  else {
                      Method setter = PROPERTY_CACHE.getPropertySetter(beanType, propertyName);
  
                      if(setter != null) {
                          LOGGER.trace("Set property via setter method: [" + setter + "]");
  
                          Class targetType = setter.getParameterTypes()[0];
                          Object converted = ParseUtils.convertType(value, targetType);
  
                          setter.invoke(bean, new Object[]{converted});
                          return;
                      }
                  }
              }
              catch(Exception e) {
                  String msg = "Could not update proprety named \"" + propertyName + "\" on bean of type \"" + beanType + "\".  Cause: " + e;
                  LOGGER.error(msg, e);
                  throw new RuntimeException(msg, e);
              }
          }
  
          String msg = "Could not update expression because a public JavaBean setter for the property \"" + identifier + "\" could not be found.";
          LOGGER.error(msg);
          throw new RuntimeException(msg);
      }
docs: Update a JavaBean property named <code>identifier</code> with the given <code>value</code>.
  @param bean the JavaBean
  @param identifier the property name
  @param value the new value