<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def connect(self, dests=None, name=None, id='', props={}):
        '''Connect this port to other CorbaPorts.

        After the connection has been made, a delayed reparse of the
        connections for this and the destination port will be triggered.

        @param dests A list of the destination Port objects. Must be provided.
        @param name The name of the connection. If None, a suitable default
                    will be created based on the names of the two ports.
        @param id The ID of this connection. If None, one will be generated by
               the RTC implementation.
        @param props Properties of the connection. Suitable defaults will be
                     set for required values if they are not already present.
        @raises WrongPortTypeError, MismatchedInterfacesError,
                MismatchedPolarityError

        '''
        with self._mutex:
            # Corba ports can only connect to corba ports of the opposite
            # polarity
            for d in dests:
                if not d.porttype == 'CorbaPort':
                    raise exceptions.WrongPortTypeError
            # Check the interfaces and their respective polarities match
            if self.interfaces:
                for d in dests:
                    if not d.interfaces:
                        raise exceptions.MismatchedInterfacesError
                for intf in self.interfaces:
                    for d in dests:
                        match = d.get_interface_by_instance_name(
                                    intf.instance_name)
                        if not match:
                            raise exceptions.MismatchedInterfacesError
                        if intf.polarity == match.polarity:
                            # Polarity should be opposite
                            raise exceptions.MismatchedPolarityError
            else:
                for d in dests:
                    if d.interfaces:
                        raise exceptions.MismatchedInterfacesError
            # Make the connection
            new_props = props.copy()
            if 'port.port_type' not in new_props:
                new_props['port.port_type'] = 'CorbaPort'
            super(CorbaPort, self).connect(dests=dests, name=name, id=id,
                                           props=new_props)