private void makeHashTable(NonDuplicateArrayList<String> newTransaction, 
								int[] hashTable, 
								int iteration, 
								int[] newHashTable, 
								NonDuplicateArrayList<String> newnewTransaction){
		int[] occurrenceCount = new int[newTransaction.size()];
		// for (NonDuplicateArrayList<Integer> subset: getKSubset(newTransaction, iteration + 1)){
		for (NonDuplicateArrayList<String> subset: getKSubset(newTransaction, iteration + 1)){
			boolean flag = true;
			// for (NonDuplicateArrayList<Integer> subsubset: getKSubset(subset, iteration)){
			for (NonDuplicateArrayList<String> subsubset: getKSubset(subset, iteration)){
				if (hashTable[Math.hash(subsubset, hashTable.length)] < Config.minSupCount){
					flag = false;
					break;
				}
			}
			if (flag){
				newHashTable[Math.hash(subset, newHashTable.length)]++;
				// for (Integer i: subset)
				for (String i: subset)
					occurrenceCount[newTransaction.indexOf(i)]++;
			}
		}
		for (int i = 0; i < newTransaction.size(); i++){
			if (occurrenceCount[i] > 0)
				newnewTransaction.add(newTransaction.get(i));
		}
	}