void (boolean processIncompleteRecords) { super.processCollectedRecords(); // we want to avoid executing a lot of "git log" commands // at the same time we do not want to waste too much memory on records // so we process "incomplete" records when we accumulate too much of them in terms of status lines // or at the very end if (!myHashToIncompleteRecords.isEmpty() && (processIncompleteRecords || myIncompleteStatusLinesCount >= STATUS_LINES_THRESHOLD)) { try { processIncompleteRecords(myHashToIncompleteRecords, myProject, myRoot, myConsumer); } catch (VcsException e) { LOG.error(e); } finally { myHashToIncompleteRecords.clear(); myIncompleteStatusLinesCount = 0; // do not keep records on error } } }