toTmpFile must be at least only protected, not private.