docs: function (args) {
              // PROFILING // var profilingId = this.$startMeasure("Generate markup for " + this.tplClasspath);
              var validatorParam = {
                  json : args,
                  beanName : "aria.templates.CfgBeans.GetRefreshedSectionCfg"
              };
              ariaCoreJsonValidator.normalize(validatorParam);
              args = validatorParam.json;
  
              var sectionId = args.section;
  
              var sectionToReplace = null;
              if (sectionId != null) {
                  sectionToReplace = (this._mainSection ? this._mainSection.getSectionById(sectionId) : null);
                  if (sectionToReplace == null) {
                      // PROFILING // this.$stopMeasure(profilingId);
                      this.$logError(this.SECTION_OUTPUT_NOT_FOUND, [this.tplClasspath, sectionId]);
                      return null;
                  }
  
                  sectionToReplace.beforeRefresh(args);
                  // desactivate section to refresh, not to trigger bindings when creating the new section
                  sectionToReplace.stopListeners();
  
              }
              var writerCallback = args.writerCallback;
              if (writerCallback == null) {
                  writerCallback = {
                      fn : this._callMacro,
                      args : args.macro,
                      scope : this
                  };
              }
              var section = this.createSection(writerCallback, {
                  ownIdMap : (sectionToReplace == null)
              });
              if (section == null) {
                  // PROFILING // this.$stopMeasure(profilingId);
                  return null;
              }
              if (sectionToReplace == null) {
                  // replace the whole main section
                  if (this._mainSection) {
                      this._mainSection.$dispose();
                  }
                  this._mainSection = section;
              } else {
                  sectionToReplace.removeContent();
                  sectionToReplace.removeDelegateIdsAndCallbacks();
                  sectionToReplace.disposeProcessingIndicator();
                  section.moveContentTo(sectionToReplace);
                  sectionToReplace.html = section.html;
                  section.$dispose();
                  section = sectionToReplace;
                  section.resumeListeners();
              }
              // PROFILING // this.$stopMeasure(profilingId);
              return section;
          }