docs: function (out, name, map, defaultValue) {
              if (out.parentClassType == this._classType) {
                  // merge maps at class loading time, as there is a parent template:
                  if (map) {
                      var newMap = out.newVarName();
                      // create the map of the child (which is now a different object, and we can change it)
                      out.writeln("var ", newMap, " = {};");
                      // get parent macrolibs:
                      out.writeln("Aria.copyObject(proto.", name, ",", newMap, ");");
                      // add or change child's own macrolibs:
                      out.writeln("Aria.copyObject(", ariaUtilsJson.convertToJsonString(map), ",", newMap, ");");
                      out.writeln("proto.", name, " = ", newMap, ";");
                  }
              } else {
                  var mapStr = map ? ariaUtilsJson.convertToJsonString(map) : defaultValue;
                  out.writeln("proto.", name, " = ", mapStr, ";");
              }
          }