'Create visualization but not first revision. Returns Visualization object.'

def _create_visualization(self, trans, title, type, dbkey=None, slug=None, annotation=None, save=True):

    user = trans.get_user()
    title_err = slug_err = ''
    if (not title):
        title_err = 'visualization    name    is    required'
    elif (slug and (not _is_valid_slug(slug))):
        slug_err = "visualization    identifier    must    consist    of    only    lowercase    letters,    numbers,    and    the    '-'    character"
    elif (slug and trans.sa_session.query(trans.model.Visualization).filter_by(user=user, slug=slug, deleted=False).first()):
        slug_err = 'visualization    identifier    must    be    unique'
    if (title_err or slug_err):
        return {'title_err': title_err, 'slug_err': slug_err}
    visualization = trans.model.Visualization(user=user, title=title, dbkey=dbkey, type=type)
    if slug:
        visualization.slug = slug
    else:
        self.create_item_slug(trans.sa_session, visualization)
    if annotation:
        annotation = sanitize_html(annotation, 'utf-8', 'text/html')
        self.add_item_annotation(trans.sa_session, trans.user, visualization, annotation)
    if save:
        session = trans.sa_session
        session.add(visualization)
        session.flush()
    return visualization
