code: public <T extends DataObject> DataBinder put(T object, String... names) throws Exception {
          Class<?> type = object.getClass();
          Object value;
          for (String name: names) {
              Field field = Beans.getKnownField(type, name);
              if (!Modifier.isStatic(field.getModifiers()) && !Modifier.isTransient(field.getModifiers()) && (value = field.get(object)) != null) {
                  put(field.getName(), value.toString());
              }
          }
          return this;
      }
docs: Fills the data binder with a subset of non-static, non-transient fields of an Object, excluding null values.
  
  @param names - the names of the fields in the subset