 			if (postConstructMethodPoints.length > 0)
 			{
 				postConstructMethodPoints.sortOn('order', Array.NUMERIC);
-				for each (var injectionPoint : InjectionPoint in postConstructMethodPoints)
-				{
+				length = postConstructMethodPoints.length;
+				for (i = 0; i < length; i++)
+				{
+					var injectionPoint : InjectionPoint = postConstructMethodPoints[i];
 					lastInjectionPoint.next = injectionPoint;
 					lastInjectionPoint = injectionPoint;
 				}

		private function extractMappingName(injectParameters : Array) : Array
		{
			var names : Array = [];
			for each (var parameter : Object in injectParameters)
			{
				if (parameter.key == 'name')
				{
					names.push(parameter.value);

		public function addMethodInjectionPointsToList(
				lastInjectionPoint : InjectionPoint) : InjectionPoint
		{
			const methods : Array = _traits.methods;
			if (!methods)
			{
				return lastInjectionPoint;
			}
			const length : uint = methods.length;
			for (var i : int = 0; i < length; i++)
			{
				var method : Object = methods[i];
				var injectParameters : Array =
						method.metadata && extractInjectParameters(method.metadata);
				if (!injectParameters)
				{
					continue;
