code: public static StopwatchAggregate calculateStopwatchAggregate(Simon simon, SimonFilter filter) {
  		StopwatchAggregate stopwatchAggregate = new StopwatchAggregate();
  		aggregateStopwatches(stopwatchAggregate, simon,
  			filter != null ? filter : SimonFilter.ACCEPT_ALL_FILTER);
  
  		return stopwatchAggregate;
  	}
docs: Aggregate statistics from all stopwatches in hierarchy that pass specified filter. Filter is applied
  to all simons in the hierarchy of all types. If a simon is rejected by filter its children are not considered.
  Simons are aggregated in the top-bottom fashion, i.e. parent simons are aggregated before children.
  
  @param simon root of the hierarchy of simons for which statistics will be aggregated
  @param filter filter to select subsets of simons to aggregate
  @return aggregates statistics
  @since 3.5