             return -1;
         }
 
+        /**
+         * Returns a value in the stream, if an item in the stream satisfies the provided testing callback.
+         * Otherwise <i>undefined</i> is returned.
+         * @param callback The function to run on each item of the stream: <code>function(item:*):Boolean</code>.
+         * @return An item that satisfies provided testing callback; otherwise <i>undefined</i> is returned.
+         */
         public function find(callback:Function):*
         {
             for each (var item:* in source)

            return filter(defined(_));
        }

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

            return this;
        }

        /**
         * Creates a new stream of streams created from the items and their corresponding indices.
         * For example: [1, 2] => [[0, 1][1, 2]].
         * @return A new stream of streams created from the items and their corresponding indices.
         */
        public function zip():Stream
        {
            var result:Array = [];
