public List<String> getExtendedReport(int topEntries) {
		TreeSet<ReportEntry<V>> topLevelFailed = new TreeSet<ReportEntry<V>>();
		fillReport(topLevelFailed, rootReport);
		int count = topEntries;
		List<String> result = Lists.newArrayList();
		StringBuilder out = new StringBuilder();
		for (ReportEntry<V> entry : topLevelFailed) {
			if (count-- == 0) return result;
			out.setLength(0);
			fillExtendedReport(out, 0, entry);
			result.add(out.toString());
		}
		
		return result;
	}
public List < String > getExtendedReport ( int topEntries ) { TreeSet < ReportEntry < V > > topLevelFailed = new TreeSet < ReportEntry < V > > ( ) ; fillReport ( topLevelFailed , rootReport ) ; int count = topEntries ; List < String > result = Lists . newArrayList ( ) ; StringBuilder out = new StringBuilder ( ) ; for ( ReportEntry < V > entry : topLevelFailed ) { if ( count -- == 0 ) return result ; out . setLength ( 0 ) ; fillExtendedReport ( out , 0 , entry ) ; result . add ( out . toString ( ) ) ; } return result ; }
Lists the work done by the most expensive failed rules.

First all failed rules are sorted according to how long they took, then, for each such rule,
a string is produced listing it and all its child rules. These are returned.

@param topEntries Produce reports for the top {@code topEntries} most expensive failed rules.
a negative number means: All of them.