public static void listFilesForFolder(final File folder) {
	    for (final File fileEntry : folder.listFiles()) {
	    	String filename = fileEntry.getName();
	    	String filePath = fileEntry.getPath();
	    	String filePathExtension = filePath.substring(filePath.indexOf(targetFolder)+targetFolder.length(), filePath.length());
	    	String targetPath = outputRoot + filePathExtension;
	    	File targetFile = new File(targetPath);
	    	String extension = filename.substring(filename.lastIndexOf(".") + 1, filename.length());
	        if (!extension.equals("java")) {
	        	if (fileEntry.isDirectory()){
	        		System.out.println(fileEntry.getName());
	        		if (doesListContain(fileEntry.getName(), features)){ //i anticipate a problem here
		        		if(!targetFile.getName().contains("ChattingApplication"))
	        				targetFile.mkdirs();
		        		listFilesForFolder(fileEntry);
	        		}
	        	}else
	        	{
	        		writeFile(fileEntry, targetFile);
	        	}
	        } else {
	        	annotationProcessor(fileEntry, targetFile);
	        }
	    }
	}