         }
 
         /**
-         * Returns a new ArrayCollection created from items of current Stream
+         * Creates a new ArrayCollection from items of current Stream
          */
         public function collection():ArrayCollection
         {

            return filter(defined(_));
        }

        public function partition(callback:Function):Stream
        {
            var first:Stream = new Stream();

            return new Stream([first, second]);
        }

        /**
         * Fills current stream with provided value.
         * @param value An item used to fill the stream.
         * @param length An Integer that specifies the how many items to set.
         * @return Current stream.
         */
        public function fill(value:*, length:int = -1):Stream
        {
            var count:uint = length == -1 ? source.length : length;
