filterWithIndex(predicate) {
        let seq = this._iterable;
        return Seq.fromGenerator(function*() {
            let i = 0;
            for (let e of seq) {
                if (predicate(e, i)) {
                    yield e;
                }
                i++;
            }
        });
    }
Returns a sequence iterating the items of the receiving sequence that match a predicate over the item and the
item's index. Items that don't match the predicate are skipped.
@param {!function(T, int) : !boolean} predicate
@returns {!Seq.<T>}
@template T