I would have expected `_open_data` to be used here if `data` was `None`. Am I misunderstanding how this works?