public ItemSetCollection findFrequentOneItemSets() {
		ItemSetCollection resultSet = new ItemSetCollection();
		ItemSetCollection tempResultSet = new ItemSetCollection();
		
		// Scan database and count all 1-itemsets 
		try {
			File inputFile = new File(getInputFilePath());
			FileReader fileReader = new FileReader(inputFile);
			BufferedReader reader = new BufferedReader(fileReader);
			String strLine = reader.readLine();
			if (strLine == null) {
				return resultSet;
			}
			
			do {
				// Parse database record and create a transaction object
				Transaction trnx = Transaction.fromRow(strLine);
				for (Item item : trnx.getPurchasedItems())
				{
					ItemSet newSet = new ItemSet(item);
					tempResultSet.addSetOrUpdateSupportCount(newSet);
				}
				
				strLine = reader.readLine();
			} while (strLine != null);
		} catch(IOException ex) {
			throw new ApplicationException("Error while reading database");
		}
		
		// After counting all the itemsets, we can now determine if they'are
		// eligible to be frequent.
		int nSupportCount = 0;
		for (ItemSet itemset : tempResultSet) {
			nSupportCount = tempResultSet.getSupportCount(itemset);
			if (nSupportCount >= getMinimumSupportCount()) {
				resultSet.addSet(itemset, nSupportCount);
			}
		}
		
		return resultSet;
	}