Some operations would benefit from the ability to cache a file locally.
For instance, direct -> inverted inversion can involve multiple passes of the direct file. Ideally, the direct files should then be cached locally.
public static void cacheFile(String filename, String temporaryFolder) throws IOException
What are the failure modes. and how should these be signalled to the client code?