need higher-level lock in RandomAccessSwappableFiler