public static List<File> copyFiles(final Set<File> files, String destinationPath)
			throws Exception 
			{
    		_newFiles = new LinkedList<File>();
    		//Create directory if it doesn't exist
    		File directory = new File(destinationPath);
    		_path = destinationPath;
    		_files = files;
    		
    		if(!directory.isDirectory()){
    			directory.mkdir();
    		}
    		
    		/*Thread copyThread = new Thread(new CopyThread());
    		copyThread.start();*/
    		
    		//copy all files to this directory
            for (File sourceFile : _files) {
                //only copy those files that really exist
                if (sourceFile.exists()) {
                    //filter out "#:=" and "ÄäÜüÖö" because of the vlc mrl syntax (see : http://wiki.videolan.org/Media_resource_locator)
                    String filteredFileName = sourceFile.getName().replaceAll("[#=:']", "");
                    filteredFileName = filteredFileName.replaceAll("[Ää]", "ae");
                    filteredFileName = filteredFileName.replaceAll("[Öö]","oe");
                    filteredFileName = filteredFileName.replaceAll("[Üü]","ue");
                    File targetFile = new File(_path+ filteredFileName);
                    // System.out.println(""+destinationPath+sourceFile.getName());
                    if (!targetFile.exists()) {
                        try
                        {
                            targetFile.createNewFile();
                        }
                        catch(IOException e)
                        {
                            e.printStackTrace();
                        }
                    }
                        _newFiles.add(targetFile);
                        FileChannel inChannel = null;
                        FileChannel outChannel = null;

                        try {
                            inChannel = new FileInputStream(sourceFile).getChannel();
                            outChannel = new FileOutputStream(targetFile).getChannel();
                            inChannel.transferTo(0, inChannel.size(), outChannel);
                        } catch (Exception e) {
//                            throw e;
                        } 
                        finally {
                            
                            try
                            {
                                if (inChannel != null)
                                inChannel.close();
                               
                                if (outChannel != null)
                                outChannel.close();
                            }
                            catch(IOException e)
                            {
                                e.printStackTrace();
                            }
                        }
                    }
                }
        
    		System.out.println("Finished copying "+_newFiles.size()+" files!");
    		return _newFiles;
		}