whole_func_string: function superMethod(methodname) {
    var func = null;
    var p = this.__proto__;
    if(!p) throw new Error('invalid parameters');
    for(p = p.__proto__; !isEmpty(p); p = p.__proto__) {
      var method = p[methodname];
      if(typeof method === 'function') {
        func = method;
        break;
      }
    }
    if(! func) throw new Error('super method not found: ' + methodname);
    return func;
  }
func_code_string: function superMethod(methodname) {
    var func = null;
    var p = this.__proto__;
    if(!p) throw new Error('invalid parameters');
    for(p = p.__proto__; !isEmpty(p); p = p.__proto__) {
      var method = p[methodname];
      if(typeof method === 'function') {
        func = method;
        break;
      }
    }
    if(! func) throw new Error('super method not found: ' + methodname);
    return func;
  }
func_documentation_string: find method with given name from base classes