code: @Trivial
       private void set(Class<?> builderCls, Object builder, String propName, Object value)
            throws IntrospectionException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
            try {
                 Class<?> cls = COUCHDB_CLIENT_OPTIONS_TYPES.get(propName);
                 // setter methods are just propName, not setPropName.
                 Method method = builderCls.getMethod(propName, cls);
                 // even though we told the config service that some of these props are Integers, they
                 // get converted to longs. Need
                 // to convert them back to int so that our .invoke(..) method doesn't blow up.
                 if (cls.equals(int.class) && value instanceof Long) {
                      value = ((Long) value).intValue();
                 }
                 if (propName.equals("password")) {
                      SerializableProtectedString password = (SerializableProtectedString) value;
                      String pwdStr = password == null ? null : String.valueOf(password.getChars());
                      value = PasswordUtil.getCryptoAlgorithm(pwdStr) == null ? pwdStr : PasswordUtil.decode(pwdStr);
                 }
                 method.invoke(builder, value);
                 return;
  
            } catch (Throwable x) {
                 if (x instanceof InvocationTargetException)
                      x = x.getCause();
                 IllegalArgumentException failure =
                      ignoreWarnOrFail(x, IllegalArgumentException.class, "CWKKD0010.prop.error", propName, COUCHDB, id,
                           x);
                 if (failure != null) {
                      FFDCFilter.processException(failure, getClass().getName(), "394", this, new Object[] {
                           value == null ? null : value.getClass(), value });
                      throw failure;
                 }
            }
       }
docs: Configure a couchdb option.
  
  @param builder
  class org.ektorp.http.StdHttpClient$Builder
  @param builder
  instance org.ektorp.http.StdHttpClient$Builder
  @param propName
  name of the config property
  @param value
  value of the config property.