private CompanyCollection readAllCompaniesFromFile()
	{
		CompanyCollection allCompanies = new CompanyCollection();
		try
		{
			CsvReader csvReader = new CsvReader(sourceFile);
			if(csvReader.readHeaders() == true)
			{
				while(csvReader.readRecord()==true)
				{	
					//apar_id,apar_name,address,place,province,Country_code,zip_code,telephone_1,comp_reg_no,acctype
					// TODO : constants for each header ?
					String id = csvReader.get("Customer ID");
					String name = csvReader.get("Business Name 1");
					String companyRegNo = csvReader.get("Local Registration Number");

					CompanyType type = CompanyType.UNKNOWN;
					Company c = new Company(id, name, type);
					c.setCompanyRegistrationNumber(companyRegNo);
					
					String dunsString = csvReader.get("DUNS");
					if( dunsString.length()>0)
					{
						int dunsNumber = Integer.parseInt(dunsString);
						DnBData data = new DnBData(dunsNumber);
						String dnbName = csvReader.get("COMPANY_NAME");
						data.setName(dnbName);
						SICCode sic = SICCode.getSICFromCode(csvReader.get("PRIMARY_SIC"));
						if(sic!=null)
							data.setPrimarySicCode(sic);
						
						c.setDunnBradstreetData(data);
					}
					allCompanies.add(c);
				}
			}
			csvReader.close();
		}
		catch(FileNotFoundException fnfe)
		{
			logger.warning(fnfe.getMessage());
		}
		catch(IOException ioe)
		{
			logger.warning(ioe.getMessage());
		}
		catch(Exception e)
		{
			logger.warning(e.getMessage());
		}
		return allCompanies;
	}