code: function __createSuper(config) {
      config = config || {};
  
      var _l = config.logger;
      if (!_l) {
          _l = console;
      }
  
      return function(methodName) {
          var self = this;
  
          var pp = this.__npm_mongoose_super_proto_proto;
          if (!pp) {
              pp = this.__proto__ || {};
              pp = pp.__proto__ || {};
  
              this.__npm_mongoose_super_proto_proto = pp;
          }
  
          var methodList  = this.__npm_mongoose_super_method_list || {};
          var method      = methodList[methodName];
          if (!method) {
              method = pp[methodName];
              if (!_u.func(method)) {
                  return function() {
  
                      _l.error("mongoose-super::super", "Error : Parent model of " + _u.modelName(self) +
                              " has no method '" + methodName +"'");
                  }
              }
  
              method = method.bind(this);
              methodList[methodName] = method;
              this.__npm_mongoose_super_method_list = methodList;
          }
  
          return method;
      };
  }
docs: ********************************************************
  
  END UTILITIES
  
  ******************************************************** In the future this could provide different super() methods based on some context (e.g. Mongoose.js version)