code: function(fullName) {
          var parsedName = this.parseName(fullName);
          var resolveMethodName = parsedName.resolveMethodName;
          var resolved;
  
          if (!(parsedName.name && parsedName.type)) {
            throw new TypeError('Invalid fullName: `' + fullName + '`, must be of the form `type:name` ');
          }
  
          if (this[resolveMethodName]) {
            resolved = this[resolveMethodName](parsedName);
          }
  
          if (!resolved) {
            resolved = this.resolveOther(parsedName);
          }
  
          if (parsedName.root && parsedName.root.LOG_RESOLVER) {
            this._logLookup(resolved, parsedName);
          }
  
          return resolved;
        }
docs: This method is called via the container's resolver method.
  It parses the provided `fullName` and then looks up and
  returns the appropriate template or class.
  
  @method resolve
  @param {String} fullName the lookup string
  @return {Object} the resolved factory