class S3FileList {

	protected List<String> lastFilesPerBillingPeriod(List<S3ObjectSummary> objectSummaries) {
		final Map<String, List<S3ObjectSummary>> months = objectSummaries.stream()
				.collect(Collectors.groupingBy(o -> extractDatePrefix(reportPattern, o), mapping(o -> o, toList())));

		return months.entrySet()
				.stream()
				.flatMap(this::lastFileForBillingPeriod)
				.sorted()
				.collect(Collectors.toList());
	}

	public  S3FileList(boolean awsJobEnabled, String bucket, ModuleData moduleData);

}