gt: 					while (seqFile.exists()) {
context: package com.neticer.model;
  
  import java.io.File;
  import java.text.SimpleDateFormat;
  import java.time.LocalDate;
  import java.time.LocalDateTime;
  import java.time.ZoneId;
  import java.time.format.TextStyle;
  import java.time.temporal.ChronoUnit;
  import java.time.temporal.TemporalAdjusters;
  import java.util.Calendar;
  import java.util.Date;
  import java.util.Locale;
  import java.util.TimeZone;
  
  public class Test {
  
  	private static final SimpleDateFormat LAST_RUN_FORMAT = new SimpleDateFormat(
              "yyyy-MM-dd");
  	
  	public static void main(String[] args) throws Exception {
  		/*List<PersonInformation> persons1 = new ArrayList<>();
  		PersonInformation p1 = new PersonInformation();
  		p1.setId(1L);
  		p1.setName("1");
  		persons1.add(p1);
  		p1 = new PersonInformation();
  		p1.setId(2L);
  		p1.setName("2");
  		persons1.add(p1);
  		
  		List<PersonInformation> persons2 = new ArrayList<>();
  		p1 = new PersonInformation();
  		p1.setId(2L);
  		p1.setName("2");
  		persons2.add(p1); 
  		
  		StringBuilder buf = new StringBuilder();
  		// persons1.stream().map(p -> System.out.println(p.getId())).;
  		
  		persons2.retainAll(persons1);
  		persons1.retainAll(persons2);
  		System.out.println(persons1.size());
  		System.out.println(persons2.size());
  		
  		Date result = LAST_RUN_FORMAT.parse("2017-10-30");
  		System.out.println(result);
  		
  		int current = 1;
  		System.out.println((current - 1) % 3);
  		
  		Path path = Paths.get("/Viking/ote/arm/processed");
  		System.out.println(path.getFileName());
  		System.out.println(path.toString());
  		System.out.println(path.toFile().getAbsolutePath());
  		if (!Files.exists(path)) {
  			Files.createDirectories(path);
  		}
  		Path base = Paths.get("/Viking/ote/arm");
  		Path target = base.resolve("processed");
  		String fileName = "1234b.txt";
  		Path source = base.resolve(fileName);
  		File file = source.toFile();
  		System.out.println(file.getAbsolutePath());
  		System.out.println(file.getName());
  		if (!Files.exists(source)) {
  			System.out.println("File not exist");
  		}*/
  		// Files.copy(source, target.resolve(source.getFileName()),
  		// StandardCopyOption.REPLACE_EXISTING);
  		// Files.delete(source);
  
  		/*int partitionSize = 50;
  		int size = (int) Math.ceil(60 / (double) partitionSize);
  		System.out.println(size);
  		
  		List<Integer> intList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7, 8);
  		List<List<Integer>> subSets = Lists.partition(intList, 5);
  		
  		for (List<Integer> subSet : subSets) {
  			System.out.println(subSet.size());
  		}*/
  
  		LocalDate today = LocalDate.of(2017, 10, 23);
  		LocalDate fStart = LocalDate.of(2012, 1, 18);
  		LocalDate fEnd = LocalDate.of(2013, 6, 11);
  		System.out.println(ChronoUnit.DAYS.between(fStart, today));
  		System.out.println(ChronoUnit.DAYS.between(fStart, fEnd));
  
  		LocalDate startDate = LocalDate.of(2012, 1, 18);
  		LocalDate endDate = LocalDate.of(2013, 6, 11);
  		long days = startDate.until(endDate, ChronoUnit.DAYS);
  		System.out.println(days);
  		ChronoUnit.DAYS.between(startDate, endDate);
  		System.out.println(days);
  
  		startDate = LocalDate.of(2017, 5, 10);
  		endDate = LocalDate.of(2017, 5, 11);
  		days = ChronoUnit.DAYS.between(startDate, endDate);
  		System.out.println(days);
  
  		LocalDateTime baseDateTime = LocalDateTime.of(2017, 10, 23, 0, 0, 0);
  		System.out.println(baseDateTime.with(TemporalAdjusters.lastDayOfMonth()));
  		System.out.println(baseDateTime.with(TemporalAdjusters.firstDayOfMonth()));
  		System.out.println(baseDateTime);
  		System.out.println(baseDateTime.getMonth().getDisplayName(TextStyle.FULL, Locale.getDefault()));
  
  		/*
  		 * try {
  		 * 
  		 * for (int i = 0; i < 5; i++) { System.out.println("Start: " + i); try { if (i
  		 * == 2) { int a = i / 0; } } finally { System.out.println("Finally: " + i); } }
  		 * 
  		 * } catch (Exception e) { e.printStackTrace(); }
  		 */
  
  		/*SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
  		String d = "2018-01-01T10:22:10.490+0000";
  		Date date = dateformat.parse(d);
  		System.out.println(date);
  		
  		Map<String, Integer> aMap = new TreeMap<>();
  		aMap.put("a", 1);
  		aMap.put("e", 5);
  		aMap.put("c", 3);
  		for (int i = 0; i < 10; i++) {
  			for (String s : aMap.keySet()) {
  				System.out.println(s);
  			}
  		}
  		
  		String s = "a.b.c";
  		s = s.replaceAll("\\.", "\\uFF0E");
  		System.out.println(s);*/
  
  		// boolean r = archiveAndMoveFile("/Viking/ote/arm/1.txt");
  
  		/*Path path = Paths.get("c://coles.pdf");
  		File file = new File("c://coles.pdf");
  		System.out.println(file.getAbsolutePath());
  		InputStream is = Test.class.getResourceAsStream("/qld.pdf");
  		System.out.println(is);
  		System.out.println(Test.class.getResource("/outputs.docx").getPath());
  		
  		AutoDetectParser parser = new AutoDetectParser();
  		BodyContentHandler handler = new BodyContentHandler();
  		Metadata metadata = new Metadata();
  		try (InputStream stream = new FileInputStream(path.toFile())) {
  			parser.parse(stream, handler, metadata);
  			String result = handler.toString();
  			System.out.println(result);
  		}*/
  
  		System.out.println(TimeZone.getDefault().getID());
  
  		String a = "1234      5677";
  		System.out.println(a.replaceAll("\\s+", "%"));
  
  		String fileName = "Export Hierarchy Business Unit.csv";
  		System.out.println(fileName.substring("Export Hierarchy ".length(), fileName.length() - 4));
  
  
  	}
  
  	private static int differenceInDays(Date date) {
  		if (date == null) {
  			return 0;
  		}
  
  		// Convert parameter to local date. This assumes that the parameter was
  		// parsed as local date.
  		LocalDate then = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDate();
  
  		// Get current East Australian date
  		ZoneId australia = ZoneId.of("Australia/Sydney");
  		LocalDate now = Calendar.getInstance().toInstant().atZone(australia).toLocalDate();
  
  		// Return the difference between the above two dates in days
  		return (int) then.until(now, ChronoUnit.DAYS);
  	}
  
  	private static boolean archiveAndMoveFile(String strFilePathName) {
  		boolean blReturn = false;
  		try {
  			Calendar calCutOffDate = Calendar.getInstance();
  			calCutOffDate.add(Calendar.MONTH, -2);
  			File file = new File(strFilePathName);
  			String strFileName = file.getName();
  			String strNewFilePath = file.getParent() + "/" + "bkp";
  			Date dtLastModified = new Date(file.lastModified());
  			String strLastModified = new SimpleDateFormat("yyyyMMdd").format(dtLastModified);
  			String strNewFileName = "";
  			if (strFileName.indexOf(".") > 0) {
  				String strNewFileNamePart1 = strFileName.substring(0, strFileName.indexOf("."));
  				String strNewFileNamePart2 = strFileName.substring(strFileName.indexOf(".") + 1, strFileName.length());
  				strNewFileName = strNewFileNamePart1 + strLastModified + "." + strNewFileNamePart2;
  			} else {
  				strNewFileName = strFileName + strLastModified;
  			}
  			File newFileDir = new File(strNewFilePath);
  			if (!newFileDir.isDirectory()) {
  				newFileDir.mkdir();
  			}
  
  			File newFile = new File(strNewFilePath + '/' + strNewFileName);
  			if (newFile.exists()) {
  				// make unique: add sequence number e.g.: -1
  				File seqFile = null;
  				int i = 0;
  				if (strNewFileName.indexOf(".") > 0) {
  					String strSeqFileNamePart1 = strNewFileName.substring(0, strNewFileName.indexOf("."));
  					String strSeqFileNamePart2 = strNewFileName.substring(strNewFileName.indexOf(".") + 1,
  							strNewFileName.length());
  					seqFile = new File(
  							strNewFilePath + '/' + strSeqFileNamePart1 + '-' + i + '.' + strSeqFileNamePart2);
  					while (seqFile.exists()) {
  						i++;
  						seqFile = new File(
  								strNewFilePath + '/' + strSeqFileNamePart1 + '-' + i + '.' + strSeqFileNamePart2);
  					}
  				} else {
  					seqFile = new File(strNewFilePath + '/' + strNewFileName + '-' + i);
  