docs: function f() {
        if (opt_parentConstructor &&
            f.prototype.__proto__ != opt_parentConstructor.prototype) {
          throw new Error(
              className + ' prototye\'s __proto__ field is messed up. ' +
              'It MUST be the prototype of ' + opt_parentConstructor.tagName);
        }
  
        var el;
        if (tagNS === undefined)
          el = tr.doc.createElement(tagName);
        else
          el = tr.doc.createElementNS(tagNS, tagName);
        f.decorate.call(this, el, arguments);
        return el;
      }