public void unobfuscateProject() {
		String obfuscatedContent;
		int totalSizeTransfert = 0;
		int numberOfFiles = 0;
		int fileSizeTransfert;
		
		createDestinationDirectories();
		List<File> codeFiles = new ArrayList<File>();
		
		for (File file : projectFiles) {
			String fileExtension = McbcFileUtils.getFilenameExtension(file.getName());
			if (Constants.PHP_EXTENSION_TABLE.contains(fileExtension) ||
				fileExtension.equals(Constants.JAVA_FILE_EXTENSION)) {
				codeFiles.add(file);
			}
		}
				
		for (FileObfuscationStructure structure : projectFileObfuscationStructureList) {		
			File obfuscatedFile = new File(destinationDir + "\\"
					+ structure.getFileName());
			obfuscatedContent = handler.replaceVariables(structure, commentRemover, whiteSpacesRemover);
			fileSizeTransfert = McbcFileUtils.putFileContent(obfuscatedFile, obfuscatedContent);
			totalSizeTransfert += fileSizeTransfert;
			numberOfFiles++;
		}
		
		if (!copyOnlySource) {
			for (File file : projectFiles) {
				String fileExtension = McbcFileUtils.getFilenameExtension(file.getName());
				if (!Constants.PHP_EXTENSION_TABLE.contains(fileExtension) && file.isFile()) {
					File newFile = new File(destinationDir
							+ "\\"
							+ file.getAbsolutePath().substring(
									sourceDir.length()));
					fileSizeTransfert = McbcFileUtils.copyFile(file, newFile);
					numberOfFiles++;
					totalSizeTransfert += fileSizeTransfert;
				}
			}			
		}
	}