def METHOD_NAME(self, case_id):
    if not case_id:
        raise IllegalCaseId('case_id must not be empty')
    if case_id in self.cache:
        return self.cache[case_id]
    case, lock = self.processor_interface.get_case_with_lock(case_id, self.lock, self.wrap)
    if lock:
        self.locks.append(lock)
    if case:
        self.set(case_id, case)
    return case