code: public static void setPropertyValue( final Object root,
                                           final Object newValue,
                                           final String... properties ) {
  
          Object object = root;
  
          int index = 0;
  
  
          try {
  
              for ( String property : properties ) {
  
  
                  Map<String, FieldAccess> fields = getFieldsFromObject( object );
                  FieldAccess field = fields.get( property );
  
  
                  if ( isDigits( property ) ) {
                      /* We can index numbers and names. */
                      object = idx ( object, StringScanner.parseInt(property) );
  
                  } else {
  
                      if ( field == null ) {
                          die( Str.sputs(
                                          "We were unable to access property=", property,
                                          "\nThe properties passed were=", properties,
                                          "\nThe root object is =", root.getClass().getName(),
                                          "\nThe current object is =", object.getClass().getName()
                                  )
                          );
                      }
  
  
                      if ( index == properties.length - 1 ) {
                          field.setValue( object, newValue );
                      } else {
                          object = field.getObject( object );
                      }
                  }
  
                  index++;
              }
          } catch (Exception ex) {
              Exceptions.requireNonNull(root, "Root cannot be null");
              handle(ex, "Unable to set property for root object", className(root),
                      "for property path", properties, "with new value", newValue,
                      "last object in the tree was",
                      className(object), "current property index", index);
          }
  
      }
docs: Get property value, loads nested properties
  
  @param root root
  @param properties properties forming a path
  @param newValue  new value