filter(predicate) {
        return new Observable(observer => this.subscribe(item => { if (predicate(item)) { observer(item); }}));
    }
@param {!function(T) : !boolean} predicate
@returns {!Observable.<T>} An observable with the same items, but skipping items that don't match the predicate.
@template T