Since the code in DownloadInstance doesn't check whether query params match the available services, a request for an imageThumb on a non-geo tabular file (which shouldn't have one) results in a 500 error due to a null pointer at line 113 of DownloadInstanceWriter.
I think a good fix would be to have DownloadInstance return false from checkIfServiceSupportedAndSetConverter if the imageThumb param is sent and the thumbnail service is not available. The resulting null could just be caught as well, but the checkService should do it's job (I think you can have an image file and send in the subset param for tabular files and get a true from this method as well, it just doesn't result in a 500 (I think it would just returns the file itself as discussed in #6240).