Really good idea.  Just a warning, the catalog file can be out of date, and the getCatalogedPathnames function can be called with a boolean to force rebuilding it.  It's slow, but the only way to find out the paths in the file though the Java interface.  It might be worth exposing this, or calling it this way if the catalog's modification date is older than the DSS file's modification date.