code: function (name, clazz, func) {
          /*  determine inheritance of current class  */
          var extend = _cs.annotation(clazz, "extend");
          if (extend === null)
              return null;
  
          /*  find function in current class' prototype and mixin chain  */
          var found = false;
          if (   _cs.istypeof(clazz.prototype[name]) === "function"
              && _cs.isown(clazz.prototype, name)                  ) {
              var currentFuncOfChain = clazz.prototype[name];
              while (_cs.istypeof(currentFuncOfChain) === "function") {
                  if (currentFuncOfChain === func) {
                      found = true;
                      break;
                  }
                  currentFuncOfChain = resolve_annotation(currentFuncOfChain, "base");
              }
          }
  
          /*  if not found, search recusively in the parent hierarchy,
              starting from the parent class  */
          if (!found)
              return resolve_extend(name, extend, func);
  
          /*  return the parent class  */
          return extend;
      }
docs: /*  internal utility method for resolving the parent class
  in the inheritance chain by searching for one of its functions