'Returns True if usage_key exists in its course. Returns false if
the course or the block w/in the course do not exist for the given version.
raises InsufficientSpecificationError if the usage_key does not id a block'

def has_item(self, usage_key):

    if ((not isinstance(usage_key, BlockUsageLocator)) or usage_key.deprecated):
        return False
    if (usage_key.block_id is None):
        raise InsufficientSpecificationError(usage_key)
    try:
        course_structure = self._lookup_course(usage_key.course_key).structure
    except ItemNotFoundError:
        return False
    return (self._get_block_from_structure(course_structure, BlockKey.from_usage_key(usage_key)) is not None)
