public/lib/emberjs/ember.js
function(fullName, options) {
        Ember.assert('fullName must be a proper full name', validateFullName(fullName));
        return lookup(this, this.normalize(fullName), options);
      }
function(fullName, options) {
        Ember.assert('fullName must be a proper full name', validateFullName(fullName));
        return lookup(this, this.normalize(fullName), options);
      }
function ( fullName , options ) { Ember . assert ( 'fullName must be a proper full name' , validateFullName ( fullName ) ) ; return lookup ( this , this . normalize ( fullName ) , options ) ; }
Given a fullName return a corresponding instance.

The default behaviour is for lookup to return a singleton instance.
The singleton is scoped to the container, allowing multiple containers
to all have their own locally scoped singletons.

```javascript
var container = new Container();
container.register('api:twitter', Twitter);

var twitter = container.lookup('api:twitter');

twitter instanceof Twitter; // => true

by default the container will return singletons
var twitter2 = container.lookup('api:twitter');
twitter2 instanceof Twitter; // => true

twitter === twitter2; //=> true
```

If singletons are not wanted an optional flag can be provided at lookup.

```javascript
var container = new Container();
container.register('api:twitter', Twitter);

var twitter = container.lookup('api:twitter', { singleton: false });
var twitter2 = container.lookup('api:twitter', { singleton: false });

twitter === twitter2; //=> false
```

@method lookup
@param {String} fullName
@param {Object} options
@return {any}
Given a fullName return a corresponding instance .