<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def connection(self, name=None):
 """ Get a database connection instance :param name: The connection name :type name: str :return: A Connection instance :rtype: orator.connections.connection.Connection """

        name, type = self._parse_connection_name(name)

        if name not in self._connections:
            logger.debug("Initiating connection %s" % name)
            connection = self._make_connection(name)

            self._set_connection_for_type(connection, type)

            self._connections[name] = self._prepare(connection)

        return self._connections[name]