def METHOD_NAME(self, name, endpoint, skip_if_exists, properties):
    if skip_if_exists and (name in self.session_manager.get_sessions_list()):
        self.logger.debug(
            "Skipping {} because it already exists in list of sessions.".format(
                name
            )
        )
        return
    http_client = self._http_client(endpoint)
    session = self._livy_session(http_client, properties, self.ipython_display)
    try:
        session.start()
    except:
        if session.is_posted():
            session.delete()
        raise
    else:
        self.session_manager.METHOD_NAME(name, session)