 		}
 
 		/**
-		 * Uses the <code>TypeDescription</code> the injector associates with the given instance's
-		 * type to iterate over all <code>[PreDestroy]</code> methods in the instance, supporting
-		 * automated destruction.
-		 *
-		 * @param instance The instance to destroy
-		 */
-		public function destroyInstance(instance : Object) : void
-		{
-			if (!instance)
-			{
-				return;
-			}
-			const type : Class = _reflector.getClass(instance);
-			const typeDescription : TypeDescription = getTypeDescription(type);
-			for (var preDestroyHook : PreDestroyInjectionPoint = typeDescription.preDestroyMethods;
-			     preDestroyHook; preDestroyHook = PreDestroyInjectionPoint(preDestroyHook.next))
-			{
-				preDestroyHook.applyInjection(instance, type, this);
-			}
-		}
-
-		/**
 		 * Indicates whether the injector can supply a response for the specified dependency either
 		 * by using a mapping of its own or by querying one of its ancestor injectors.
 		 *

			return _applicationDomain;
		}

		public function addTypeDescription(type : Class, description : TypeDescription) : void
		{
			_classDescriptor.addDescription(type, description);
		}



		}

		/**
		 * Uses the <code>TypeDescription</code> the injector associates with the given instance's
		 * type to iterate over all <code>[PreDestroy]</code> methods in the instance, supporting
		 * automated destruction.
		 *
		 * @param instance The instance to destroy
		 */
		public function destroyInstance(instance : Object) : void
		{
			if (!instance)
			{
				return;
			}
			const type : Class = _reflector.getClass(instance);
			const typeDescription : TypeDescription = getTypeDescription(type);
			for (var preDestroyHook : PreDestroyInjectionPoint = typeDescription.preDestroyMethods;
			     preDestroyHook; preDestroyHook = PreDestroyInjectionPoint(preDestroyHook.next))
			{
				preDestroyHook.applyInjection(instance, type, this);
			}
		}

		/**
