public void monitorFileModify(Path file){


		if(file.startsWith(targetPath) && 
		   !Files.isDirectory(file)){
			Path subPath = targetPath.relativize(file);
			Path newPathSource = sourcePath.resolve(subPath);
			Path newPathTarget = targetPath.resolve(subPath);
			
			
			try {

                if(!FileUtils.contentEquals(newPathSource.toFile(),newPathTarget.toFile())){

					logger.debug("Target modified");
						
					logger.debug("Pfad 1 : "+newPathSource.toString());
					logger.debug("Pfad 2 : "+newPathTarget.toString());
					
					logger.debug("Target content:");
					logger.debug(FileUtils.readFileToString(newPathTarget.toFile()));
					logger.debug("End Target content--");
					
					File backup = new File(newPathSource.toFile().getAbsolutePath()+".bak");
					FileUtils.copyFile(newPathSource.toFile(), backup);
                    FileUtils.copyFile(newPathTarget.toFile(), newPathSource.toFile());
						
					JOptionPane.showMessageDialog(App.window, subPath+" got Modified in target "+targetPath+". Copied the target to your source and made a backup of the source to "+backup);
					
			
					java.awt.EventQueue.invokeLater(new Runnable() {
					    public void run() {
					    	App.window.toFront();
					    	App.window.repaint();
					    }
					});
					
					
				}
				
	
			} catch (IOException e) {
				JOptionPane.showMessageDialog(App.window, e.getMessage());
				e.printStackTrace();
			}
			}
	}