#bl_getter = next(fn for fn, bl in zip(bl_fun, boolgen) if bl is True)
bl_getter = next(dropwhile(lambda _: not next(boolgen), bl_fun))
#cls.log.debug('using {0} as bl filter'.format(bl_getter.__name__))
#bl_getter = next(fn for fn, bl in zip(bl_fun, boolgen) if bl is True)
bl_getter = next(dropwhile(lambda _: not next(boolgen), bl_fun))
#cls.log.debug('using {0} as bl filter'.format(bl_getter.__name__))