return this.then(downstream => {
        if (check(downstream)) return operation.get(downstream);
        return Promise.resolve(downstream);
    });