class StoreFiles {

    public boolean isEmpty( File storeDir, Collection<File> filesToLookFor ) throws IOException
    {
        // 'files' can be null if the directory doesn't exist. This is fine, we just ignore it then.
        File[] files = fs.listFiles( storeDir, fileFilter );
        if ( files != null )
        {
            for ( File file : files )
            {
                if ( filesToLookFor.contains( file ) )
                {
                    return false;
                }
            }
        }

        Iterable<FileHandle> fileHandles = acceptedPageCachedFiles( storeDir )::iterator;
        for ( FileHandle fh : fileHandles )
        {
            if ( filesToLookFor.contains( fh.getFile() ) )
            {
                return false;
            }
        }

        return true;
    }

    public  StoreFiles( FileSystemAbstraction fs, PageCache pageCache );
    public  StoreFiles( FileSystemAbstraction fs, PageCache pageCache, FilenameFilter fileFilter );

}