private static String generateString(SummaryObject summary) {
		StringBuilder sb = new StringBuilder();
		sb.append("\nUnique pages retrieved: ");
		sb.append(summary.getPagesAnalyzed());
		sb.append("\nAverage words per page: ");
		if (summary.getPagesAnalyzed() > 0)
			sb.append(summary.getTotalWords() / summary.getPagesAnalyzed());
		else
			sb.append("N/A");
		sb.append("\nAverage keywords per page: ");
		if (summary.getPagesAnalyzed() > 0)
			sb.append(summary.getTotalKeywords() / summary.getPagesAnalyzed());
		else
			sb.append("N/A");
		sb.append("\nAverage URLs per page: ");
		if (summary.getPagesAnalyzed() > 0)
			sb.append(summary.getTotalURLs() / summary.getPagesAnalyzed());
		else 
			sb.append("N/A");
		sb.append("\n\nKeywords\tAvg. hits per page\t    Total hits\n");
		
		// Keyword occurrences 
		Iterator<String> keyItr = summary.getKeywords().keySet().iterator();
		String next;
		double num;
		while (keyItr.hasNext()) {
			next = keyItr.next();
			if (next.length() >= 8) {
				sb.append(next + "\t\t");
			} else {
				sb.append(next + "\t\t\t");
			}
			if (summary.getPagesAnalyzed() > 0) {
				num = (double) summary.getKeywords().get(next) / summary.getPagesAnalyzed();
				DecimalFormat df = new DecimalFormat("#.##");
				sb.append(df.format(num));
			} else
				sb.append("N/A");
			
			sb.append("\t\t\t" + summary.getKeywords().get(next) + "\n");
		}
		
		sb.append("\nAverage parse time per page: ");
		if (summary.getPagesAnalyzed() > 0) {
			sb.append(summary.getTotalPageParseTime() / summary.getPagesAnalyzed());
			sb.append(" ms");
		} else
			sb.append("N/A");
		
		return sb.toString();
	}