<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_connection(self, **kwargs):
 """Return a serial connection implementation suitable for the specified protocol. Raises ``RuntimeError`` if there is no implementation for the given protocol. .. warn:: This may be a little bit confusing since there is no effective connection but an implementation of a connection pattern. """

        if self.is_rtscts():
            return RTSCTSConnection(self, **kwargs)

        if self.is_dsrdtr():
            return DSRDTRConnection(self, **kwargs)

        else:
            raise RuntimeError('Serial protocol "%s" is not available.' % (
                    self.protocol))