 			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 extractOptionalFlag(injectParameters : Array) : Boolean
		{
			for each (var parameter : Object in injectParameters)
			{
				if (parameter.key == 'optional')
				{
					return parameter.value == 'true' || parameter.value == '1';

		
		//----------------------         Private / Protected Methods        ----------------------//
		private function gatherFieldInjectionPoints(
				fields : Array, lastInjectionPoint : InjectionPoint) : InjectionPoint
		{
			if (!fields)
			{
				return lastInjectionPoint;
			}
			const length : uint = fields.length;
			for (var i : int = 0; i < length; i++)
			{
				var field : Object = fields[i];
				var injectParameters : Array =
						field.metadata && extractInjectParameters(field.metadata);
				if (!injectParameters)
				{
					continue;
