'Initialize the class.
This will create the file if necessary.'

@util.positional(2)
def __init__(self, filename, warn_on_readonly=True):

    self._file = LockedFile(filename, 'r+b', 'rb')
    self._thread_lock = threading.Lock()
    self._read_only = False
    self._warn_on_readonly = warn_on_readonly
    self._create_file_if_needed()
    self._data = None
