This is the second time we're checking `if self.__is_filtered() or self.__is_deferred():` Seems like a good candidate for wrapping up in something like `self.__is_cacheable()` or another aggregate method?