docs: @Override
      public final void printClientConfig(final JSONWriter json, final Template template) throws JSONException {
          try {
              Set<Class> printed = new HashSet<>();
              final Value exampleValue = createValue(template);
              json.key(JSON_NAME).value(this.configName);
              json.key(JSON_ATTRIBUTE_TYPE).value(getValueType().getSimpleName());
              final Class<?> valueType = exampleValue.getClass();
  
              json.key(JSON_CLIENT_PARAMS);
              json.object();
              printClientConfigForType(json, exampleValue, valueType, this.defaults, printed);
              json.endObject();
  
              Optional<JSONObject> clientOptions = getClientInfo();
              clientOptions.ifPresent(jsonObject -> json.key(JSON_CLIENT_INFO).value(jsonObject));
          } catch (Throwable e) {
              // Note: If this test fails and you just added a new attribute, make
              // sure to set defaults in AbstractMapfishSpringTest.configureAttributeForTesting
              throw new Error("Error printing the clientConfig of: " + getValueType().getName(), e);
          }
      }