public void searchCSVinDirectory() throws NewCustomException {
		try {
			File file = new File(Constants.CSV_FILES_URL);
			List<String> updatedFiles = new ArrayList<String>();

			String[] filenames = file.list();

			/*
			 * Filter out all the csv files newly added csv files and setting
			 * their last modified time as null. Then creating a separate list
			 * for all the updates Csv files so that it can be used by other
			 * functions.
			 */

			for (int i = 0; i < filenames.length; i++) {
				if (filenames[i].endsWith(".csv")) {
					if (!csvListWithTime.containsKey(filenames[i])) {
						csvListWithTime.put(filenames[i], null);
					}

					Path path = Paths
							.get(Constants.CSV_FILES_URL, filenames[i]);
					BasicFileAttributes fileAttributes = Files.readAttributes(
							path, BasicFileAttributes.class);

					if (csvListWithTime.get(filenames[i]) == null
							|| !csvListWithTime.get(filenames[i]).equals(
									fileAttributes.lastModifiedTime())) {
						updatedFiles.add(filenames[i]);
						csvListWithTime.put(filenames[i],
								fileAttributes.lastModifiedTime());
					}
				}
			}
			/*
			 * If updated files are found then they are added to the Data
			 * Structure
			 */
			if (updatedFiles.size() > 0) {
				addUpdatedFilesData(updatedFiles);
			}
		} catch (IOException e) {
			throw new NewCustomException(
					"Problem in Input output operations of File..Reading File Attributes");
		} catch (Exception e) {
			throw new NewCustomException(
					"Unexpected Error while reading CSV file attributes");
		}
	}