code: public <V> DebugValueSetter<V> set(final V ignoredValueFromProxy)
      {
          final MethodIdProxyFactory.MethodAndScope lastProxyMethodAndScope = MethodIdProxyFactory.getLastIdentifiedMethodAndScope();
          if (lastProxyMethodAndScope == null) {
              throw new ConfigException("Failed to identify config method previous to calling overrideDefault");
          }
  
          final Optional<ConfigDescriptor> configDescOpt = configDescriptors.stream()
              .filter(desc -> desc.getMethod().equals(lastProxyMethodAndScope.getMethod()) && desc.getScope().equals(lastProxyMethodAndScope.getScopeOpt()))
              .findAny();
          final String configKey = configDescOpt.map(desc -> desc.getConfigName()).orElseThrow(
              () -> new ConfigException("Config method identified is not correctly registered in the config system"));
          final Class<?> configClass = getClass(configDescOpt.get().getConfigType());
  
          return new DebugValueSetter<V>()
          {
              @Override
              public void toValue(final V value)
              {
                  final String stringValue;
  
                  if (configClass != null && Collection.class.isAssignableFrom(configClass)) {
                      final Collection collection = (Collection) value;
                      stringValue = collection == null ? "" : (String) collection.stream()
                          .map(v -> "\"" + String.valueOf(v).replaceAll("\"", "\"\"") + "\"")
                          .collect(Collectors.joining(","));
                  }
                  else {
                      stringValue = value == null ? "" : String.valueOf(value);
                  }
                  fireEvent(configKey, Optional.ofNullable(stringValue));
              }
  
              @Override
              public void toEmpty()
              {
                  fireEvent(configKey, Optional.empty());
              }
          };
      }
docs: Provides the start of a call chain which identifies and sets a configuration value. Note that this needs to be
  used in conjunction with a method call to a method-identifying proxy, which can be retrieved via
  {@link #id(Class)}
  
  @param ignoredValueFromProxy The value returned by the method call against a method-identifying proxy. The actual
  value here is irrelevant and is ignored.
  @param <V>                   The value type of the configuration entry to be changed
  @return a {@link DebugValueSetter} instance that will change the identified configuration value.