'Create the new xmodule but don\'t save it. Returns the new module with a draft locator if
the category allows drafts. If the category does not allow drafts, just creates a published module.
:param location: a Location--must have a category
:param definition_data: can be empty. The initial definition_data for the kvs
:param metadata: can be empty, the initial metadata for the kvs
:param runtime: if you already have an xmodule from the course, the xmodule.runtime value
:param fields: a dictionary of field names and values for the new xmodule'

def create_xblock(self, runtime, course_key, block_type, block_id=None, fields=None, **kwargs):

    new_block = super(DraftModuleStore, self).create_xblock(runtime, course_key, block_type, block_id, fields, **kwargs)
    new_block.location = self.for_branch_setting(new_block.location)
    return wrap_draft(new_block)
