code: function (fullName, options) {
        _emberMetalDebug.assert('fullName must be a proper full name', this.validateFullName(fullName));
        var factory = resolve(this, this.normalize(fullName), options);
        if (factory === undefined && this.fallback) {
          var _fallback;
  
          factory = (_fallback = this.fallback).resolve.apply(_fallback, arguments);
        }
        return factory;
      }
docs: Given a fullName return the corresponding factory.
  By default `resolve` will retrieve the factory from
  the registry.
  ```javascript
  var registry = new Registry();
  registry.register('api:twitter', Twitter);
  registry.resolve('api:twitter') // => Twitter
  ```
  Optionally the registry can be provided with a custom resolver.
  If provided, `resolve` will first provide the custom resolver
  the opportunity to resolve the fullName, otherwise it will fallback
  to the registry.
  ```javascript
  var registry = new Registry();
  registry.resolver = function(fullName) {
  lookup via the module system of choice
  };
  the twitter factory is added to the module system
  registry.resolve('api:twitter') // => Twitter
  ```
  @private
  @method resolve
  @param {String} fullName
  @param {Object} [options]
  @param {String} [options.source] the fullname of the request source (used for local lookups)
  @return {Function} fullName's factory