 				injectionPoint = injectionPoint.next;
 			}
 		}
+
+		private function getProvider(mappingId : String) : DependencyProvider
+		{
+			var injector : Injector = this;
+			while (injector)
+			{
+				if (injector.providerMappings[mappingId])
+				{
+					return injector.providerMappings[mappingId];
+				}
+				injector = injector.parentInjector;
+			}
+			return null;
+		}
 	}
 }
	import flash.utils.Dictionary;
	import flash.utils.getQualifiedClassName;

	import org.swiftsuspenders.injectionpoints.ConstructorInjectionPoint;
	import org.swiftsuspenders.injectionpoints.InjectionPoint;
	import org.swiftsuspenders.utils.ClassDescriptor;

			INJECTION_POINTS_CACHE = new Dictionary(true);
		}

		SsInternal function instantiateUnmapped(type : Class) : Object
		{
			var ctorInjectionPoint : ConstructorInjectionPoint =
