support for sub-folders
handle three or more files in a piece, File.contains has to return a partial match if a file is fully contained in a piece, calculateBounds support for the same (simplified&refactored)