'Should only be used by testing or something which implements transactional boundary semantics.
:param course_version_guid: if provided, clear only this entry'

def _clear_cache(self, course_version_guid=None):

    if (self.request_cache is None):
        return
    if course_version_guid:
        try:
            del self.request_cache.data.setdefault('course_cache', {})[course_version_guid]
        except KeyError:
            pass
    else:
        self.request_cache.data['course_cache'] = {}
