public String toString() {
		// Number of items in each list to print
		int n = 10;
		
		String output = "The word list ";
		output += isPruned ? "has been pruned:" : "has not been pruned:";
		
		if (isPruned) {
			output += "\n\tPruned word list: (showing first " + n + " items for each word length)";
			for (Integer key : prunedWordList.keySet()) {
				ArrayList<String> dictionarySubgroup = prunedWordList.get(key);

				output += "\n\t\t";
				output += key;
				output += " [";
				// Print first n elements of each dictionary subgroup
				for (int i = 0; i < n; i++) {
					output += dictionarySubgroup.get(i);
					output += i < (n - 1) ? ", " : "";
				}
				output += (n < dictionarySubgroup.size()) ? ", ..." : "";
				output += "]";
			}
		}
		output += "\n\tFull word list: (showing first " + n + " items)";
		output += "\n\t\t";
		output += "[";
		for (int i = 0; i < n; i++) {
			output += wordList.get(i);
			output += i < (n - 1) ? ", " : "";
		}
		output += (n < wordList.size()) ? ", ..." : "";
		output += "]";
		return output;
	}