lib/di.js
function requireWrapper(requireMe, provides, injects, directory) {
    return  _require(requireMe, provides, injects, directory, simpleWrapper);
  }
function requireWrapper(requireMe, provides, injects, directory) {
    return  _require(requireMe, provides, injects, directory, simpleWrapper);
  }
function requireWrapper ( requireMe , provides , injects , directory ) { return _require ( requireMe , provides , injects , directory , simpleWrapper ) ; }
this one does the require for you and returns an object that is annotated
@param requireMe is string passed to require()
@param [provides] - is either an array or string of things this object provides
@param [injects] - is either a single string or array of strings of module names to be injected
@param [directory] - to attempt first require from
@returns {*}
this one does the require for you and returns an object that is annotated