 				throw new InjectorError("Can't instantiate interface " + getQualifiedClassName(type));
 			}
 			var instance : * = injectionPoint.applyInjection(type, this);
-			injectInto(instance);
+			applyInjectionPoints(instance, typeDescription.injectionPoints);
 			return instance;
 		}
 

			return _mappings[requestType] || getAncestorMapping(requestType);
		}

		SsInternal function getAncestorMapping(whenAskedFor : Class) : InjectionRule
		{
			return _parentInjector ? _parentInjector.getMapping(whenAskedFor) : null;
		}

		SsInternal function getRuleForInjectionPointConfig(
				config : InjectionPointConfig) : InjectionRule
		{
			var type : Class = Class(applicationDomain.getDefinition(config.typeName));
			if (config.injectionName)
			{
				return usingName(config.injectionName).getMapping(type);
			}
			return getMapping(type);
		}

		SsInternal function instantiateUnmapped(type : Class) : *

					_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
