SubmissionCacheEntry entry;
synchronized (this.submissionCache) {
entry = this.submissionCache.get(key);
if (entry == null) {
JudgingQueueIterator iter = JudgeService.getInstance().getJudgingQueueIterator();
List<Submission> submissions =
PersistenceManager.getInstance().getSubmissionPersistence().searchSubmissions(criteria,
firstId, lastId,
count);
entry = new SubmissionCacheEntry(iter, submissions);