<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def save(self, path_info, checksum):
 """Save checksum for the specified path info. Args: path_info (dict):
 path_info to save checksum for. checksum (str):
 checksum to save. """

        assert path_info["scheme"] == "local"
        assert checksum is not None

        path = path_info["path"]
        assert os.path.exists(path)

        actual_mtime, actual_size = get_mtime_and_size(path)
        actual_inode = get_inode(path)

        existing_record = self.get_state_record_for_inode(actual_inode)
        if not existing_record:
            self._insert_new_state_record(
                path, actual_inode, actual_mtime, actual_size, checksum
            )
            return

        self._update_state_for_path_changed(
            path, actual_inode, actual_mtime, actual_size, checksum
        )