code: function() {
         if ($caller !== null) {
              for (var $s = $caller.boundTo.$parent; $s !== null; $s = $s.$parent) {
                  var m = $s.prototype[$caller.methodName];
                  if (m !== undefined) {
                      return m.apply(this, arguments);
                  }
              }
  
              // handle method not found error
              var cln = this.clazz && this.clazz.$name ? this.clazz.$name + "." : "";
              throw new ReferenceError("Method '" +
                                       cln +
                                       ($caller.methodName === CNAME ? "constructor"
                                                                     : $caller.methodName) + "(" + arguments.length + ")" + "' not found");
          } else {
              throw new Error("$super is called outside of class context");
          }
      }
docs: Call super method implementation.
  @param {Function} [superMethod]? optional parameter that should be a method of the class instance
  that has to be called
  @param {Object} [args]* arguments list to pass the executed method
  @return {Object} return what super method returns
  @method $super
  @example
  
  var A = zebkit.Class([
  function a(p) { return 10 + p; }
  ]);
  
  var B = zebkit.Class(A, [
  function a(p) {
  return this.$super(p) * 10;
  }
  ]);
  
  var b = new B();
  b.a(10) // return 200
  
  @for zebkit.Class.zObject