code: void apply(final ConfigurationContext ctx, final ParsedConfiguration _parsedCfg, final Object cfg) {
      ParsedConfiguration _templates = ctx.getTemplates();
      ConfigurationTokenizer.Property _include = _parsedCfg.getPropertyMap().get("include");
      if (_include != null) {
        for (String _template : _include.getValue().split(",")) {
          ParsedConfiguration c2 = null;
          if (_templates != null) { c2 = _templates.getSection(_template); }
          if (c2 == null) {
            throw new ConfigurationException("Template not found \'" + _template + "\'", _include);
          }
          apply(ctx, c2, cfg);
        }
      }
      applyPropertyValues(_parsedCfg, cfg);
      if (!(cfg instanceof ConfigurationWithSections)) {
        return;
      }
      ConfigurationWithSections _configurationWithSections = (ConfigurationWithSections) cfg;
      for(ParsedConfiguration _parsedSection : _parsedCfg.getSections()) {
        String _sectionType = ctx.getPredefinedSectionTypes().get(_parsedSection.getName());
        if (_sectionType == null) {
          _sectionType = _parsedSection.getType();
        }
        if (_sectionType == null) {
          throw new ConfigurationException("type missing or unknown", _parsedSection);
        }
        Class<?> _type;
        try {
          _type = Class.forName(_sectionType);
        } catch (ClassNotFoundException ex) {
          throw new ConfigurationException(
            "class not found '" + _sectionType + "'", _parsedSection);
        }
        if (!handleSection(ctx, _type, _configurationWithSections, _parsedSection)
          && !handleCollection(ctx, _type, cfg, _parsedSection)
          && !handleBean(ctx, _type, cfg, _parsedSection)) {
          throw new ConfigurationException("Unknown property  '" +  _parsedSection.getContainer() + "'", _parsedSection);
        }
      }
    }
docs: Set properties in configuration bean based on the parsed configuration. Called by unit test.