 			}
 			return array;
 		}
-
+		
 		public static function objectKeysToVector(object:Object):Vector.<String> {
 			const vector:Vector.<String> = new Vector.<String>();
 			for (var key:String in object) {

			collection.splice(i, 1);
			return true;
		}

		public static function clear(collectionOrObject:Object):void {
			if (collectionOrObject === null) {
				return;
			}

			if (collectionOrObject is Array) {
				collectionOrObject.length = 0;
			}
			else if (isVector0(collectionOrObject)) {
				collectionOrObject.fixed = false;
				collectionOrObject.length = 0;
			}
			else {
				for (var k:String in collectionOrObject) {
					delete collectionOrObject[k];
				}
			}
		}

		public static function sum(collection:Object):int {
			if (!isArrayOrVector(collection)) {
				throw new IllegalArgumentException();
			}

			var sum:int = 0;
			for (var i:int = 0, l:int = collection.length; i < l; ++i) {
				sum += collection[i];
			}
			return sum;
		}

		public static function sumUint(collection:Object):uint {
			if (!isArrayOrVector(collection)) {
				throw new IllegalArgumentException();
			}

			var sum:uint = 0;
			for (var i:int = 0, l:int = collection.length; i < l; ++i) {
				sum += collection[i];
			}
			return sum;
		}

		public static function sumNumber(collection:Object):Number {
			if (!isArrayOrVector(collection)) {
				throw new IllegalArgumentException();
			}

			var sum:Number = 0;
			for (var i:int = 0, l:int = collection.length; i < l; ++i) {
				sum += collection[i];
			}
			return sum;
		}

		public static function move(collection:Object, length:int, insertValue:Object = null):void {
			if (!isArrayOrVector(collection)) {
				throw new IllegalArgumentException();
			}

			var l:int = collection.length;

			if (l !== 0 && length !== 0) {
				var i:int;

				if (length > 0) {
					for (i = l - 1; i >= 0; i--) {
						collection[i] = i < length ? insertValue : collection[i - length];

			}
			return cls;
		}
		
		public static function createVector(elementClass:Class, length:uint = 0, fixed:Boolean = false):* {
			return new (getVectorClass(elementClass))(length, fixed);
		}
		
		public static function createVectorAndFill(elementClass:Class, length:uint, value:Object, fixed:Boolean = false):* {
			var vector:Object = new (getVectorClass(elementClass))(length, fixed);
			fill(vector, value);
			return vector;
		}
		
		public static function arrayToVector(array:Array, elementClass:Class):Object {
			const vector:Object = createVector(elementClass, array.length, true);
			for (var i:int = 0; i < array.length; i++) {
