private CSVParser()
       {
    	 
   		
   		int yearIndex = 0;
   		int monthIndex = 1;
   		totalEntry=new ArrayList<DateWiseEntry>();
   		BufferedReader br = null;
   		String line = "";
   	 
   		try {
   			
   	           
   			br = new BufferedReader(new FileReader(Constants.FilePath));
   			
   			// Extract headers and indexes
   			
   			if ((line = br.readLine()) != null) {
   				Boolean flag=isHeaderValid(line);
   	             if(!flag)
   			    {
   			    	throw new Exception(Constants.HeaderConstraints);
   			    }
   			} 
   			
   			
   			     while ((line = br.readLine()) != null) {
   				
   				if(line.equals("")) {	// Avoid and continue functioning if blank line is encountered
   					continue;
   				}
   				   				
   				String[] elements = line.split(Constants.Seperator);
   				if(elements.length != header.length) {
   					// Extra or lesser price values as compared to company names
   					throw new RuntimeException("Incorrect number of values found");
   				}
   				totalEntry.add(new DateWiseEntry(elements));
   			  	
   			}
   		} catch (FileNotFoundException e) {
   			System.out.println("Error : Invalid file path or name");
   		} catch (Exception e) {
   			// e.printStackTrace();
   			System.out.println(e.getMessage());
   		} finally {
   			if (br != null) {
   				try {
   					br.close();
   				} catch (IOException e) {
   					e.printStackTrace();
   				}
   			}
   		}
   		   
       }