 			return _mappings[requestType] || getAncestorMapping(requestType);
 		}
 
-		SsInternal function getAncestorMapping(whenAskedFor : Class) : InjectionRule
-		{
-			return _parentInjector ? _parentInjector.getMapping(whenAskedFor) : null;
+		SsInternal function getMappingByName(requestTypeName : String) : InjectionRule
+		{
+			return _mappings[requestTypeName] || getAncestorMappingByName(requestTypeName);
+		}
+
+		SsInternal function getAncestorMapping(requestType : Class) : InjectionRule
+		{
+			if (_parentInjector)
+			{
+				return _parentInjector.getMapping(requestType);
+			}
+			return null;
+		}
+
+		SsInternal function getAncestorMappingByName(requestTypeName : String) : InjectionRule
+		{
+			if (_parentInjector)
+			{
+				return _parentInjector.getMappingByName(requestTypeName);
+			}
+			return null;
 		}
 
 		SsInternal function getRuleForInjectionPointConfig(
 				config : InjectionPointConfig) : InjectionRule
 		{
-			var type : Class = Class(applicationDomain.getDefinition(config.typeName));
 			if (config.injectionName)
 			{
+				var type : Class = Class(applicationDomain.getDefinition(config.typeName));
 				return usingName(config.injectionName).getMapping(type);
 			}
-			return getMapping(type);
+			return getMappingByName(config.typeName);
 		}
 
 		SsInternal function instantiateUnmapped(type : Class) : *

		//----------------------         Private / Protected Methods        ----------------------//
		private function createRule(requestType : Class) : InjectionRule
		{
			return new InjectionRule(this, requestType);
		}
	}
}
					_classDescriptor.getDescription(getConstructor(target));

			var injectionPoints : Array = injecteeDescription.injectionPoints;
			applyInjectionPoints(target, injectionPoints);
		}

		public function getInstance(type : Class) : *
		{
			var mapping : InjectionRule = getMapping(type);
			if (mapping && mapping.hasProvider())
			{
				return mapping.apply(this);
			}
			return instantiateUnmapped(type);
		}
		
		public function createChildInjector(applicationDomain : ApplicationDomain = null) : Injector
