docs: function (p, def) {
              // The prototype should be an instance of Template, that inheriths from BaseTemplate
              p.$BaseTemplate.constructor.classDefinition.$prototype.$init(p, def);
  
              // copy the prototype of ICSS:
              var itf = (require("./ICSS")).prototype;
              for (var k in itf) {
                  if (itf.hasOwnProperty(k) && !p.hasOwnProperty(k)) {
                      // copy methods which are not already on this object (this avoids copying $classpath and
                      // $destructor)
                      p[k] = itf[k];
                  }
              }
          }