code: @SuppressWarnings("checkstyle:npathcomplexity")
  	public static void defineConfig(Map<String, Object> content, ConfigMetadataNode config, Injector injector) {
  		assert content != null;
  		assert config != null;
  		final Class<?> type = (Class<?>) config.getType();
  		final String sectionName = config.getName();
  		final Pattern setPattern = Pattern.compile("^set([A-Z])([a-zA-Z0-9]+)$"); //$NON-NLS-1$
  		Object theConfig = null;
  		for (final Method setterMethod : type.getMethods()) {
  			final Matcher matcher = setPattern.matcher(setterMethod.getName());
  			if (matcher.matches()) {
  				final String firstLetter = matcher.group(1);
  				final String rest = matcher.group(2);
  				final String getterName = "get" + firstLetter + rest; //$NON-NLS-1$
  				Method getterMethod = null;
  				try {
  					getterMethod = type.getMethod(getterName);
  				} catch (Throwable exception) {
  					//
  				}
  				if (getterMethod != null && Modifier.isPublic(getterMethod.getModifiers())
  						&& !Modifier.isAbstract(getterMethod.getModifiers())
  						&& !Modifier.isStatic(getterMethod.getModifiers())) {
  					try {
  						if (theConfig == null) {
  							theConfig = injector.getInstance(type);
  						}
  						if (theConfig != null) {
  							final Object value = filterValue(getterMethod.getReturnType(), getterMethod.invoke(theConfig));
  							final String id = sectionName + "." + firstLetter.toLowerCase() + rest; //$NON-NLS-1$
  							defineScalar(content, id, value);
  						}
  					} catch (Throwable exception) {
  						//
  					}
  				}
  			}
  		}
  	}
docs: Add a config to a Yaml configuration map.
  
  @param content the Yaml configuration map.
  @param config the configuration.
  @param injector the injector to be used for creating the configuration objects.