private final static List<File> getFiles(File dir, List<File> files) 
			throws MasterException {
		
		if(dir == null)
			throw new MasterException("The directory is null");
		
	    if (files == null)
	        files = new LinkedList<File>();
	    
	    if(dir.isDirectory() == false) {
	    	if(dir.getName().toLowerCase().endsWith(".mp3")) 
	    		files.add(dir);
	    	return files;
	    }
		
	    for (File file : dir.listFiles()) //filter useful to get only files that ends with .mp3
	    	MasterMetadata.getFiles(file, files); //recursive approach.
	    
		return files;
	}