if obj is None do not cache