code: public void set(String name, String value) {
          try {
              Field field = CSVConfig.class.getDeclaredField(name);
              if (field.getType().toString().compareToIgnoreCase("int") == 0) {
                  field.set(this, Integer.parseInt(value));
              } else if (field.getType().toString().compareToIgnoreCase("boolean") == 0) {
                  if (value.equalsIgnoreCase("t")) value = "true";
                  field.set(this, Boolean.parseBoolean(value));
              } else {
                  field.set(this, value);
              }
          } catch (NoSuchFieldException | SecurityException e) {
             throw new IllegalArgumentException("Unknown parameter: " + name);
          } catch (Exception e) {
             throw new IllegalArgumentException("Invalid value for '" + name + "': " + value);
          }
      }
docs: Set the given configuration option name to the given value. The value's format must
  be compatible with the option's type (String, int, or boolean). If the given option
  name is unknown, an exception is thrown.
  
  @param name  Option name (e.g., "app", "batchsize")
  @param value Option value (e.g., "Email", "10000", "true").