{
Timer timer = new Timer();
Storage storage = new Storage(getStorageDirectory());
BillProcessor billProcessor = new BillProcessor();
CalendarProcessor calendarProcessor = new CalendarProcessor();
AgendaProcessor agendaProcessor = new AgendaProcessor();
TranscriptProcessor transcriptProcessor = new TranscriptProcessor();
Collections.sort((List<File>)files, new FileNameComparator());
// Process each file individually, flushing changes to storage as necessary
// Each file processor should produce a change log indicating what happened
timer.start();
for(File file : files) {
try {
logger.debug("Ingesting: "+file);
String type = file.getParentFile().getName();
if (type.equals("bills")) {
billProcessor.process(file, storage);
}
else if (type.equals("calendars")) {
calendarProcessor.process(file, storage);
}
else if (type.equals("agendas")) {
agendaProcessor.process(file, storage);
}
else if (type.equals("annotations")) {
continue;
}
else if (type.equals("transcripts")) {