docs: def connect(self, dests=[], name=None, id='', props={}):
          '''Connect this port to other DataPorts.
  
          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
  
          '''
          # Data ports can only connect to opposite data ports
          with self._mutex:
              new_props = props.copy()
              ptypes = [d.porttype for d in dests]
              if self.porttype == 'DataInPort':
                  if 'DataOutPort' not in ptypes:
                      raise exceptions.WrongPortTypeError
              if self.porttype == 'DataOutPort':
                  if 'DataInPort' not in ptypes:
                      raise exceptions.WrongPortTypeError
              if 'dataport.dataflow_type' not in new_props:
                  new_props['dataport.dataflow_type'] = 'push'
              if 'dataport.interface_type' not in new_props:
                  new_props['dataport.interface_type'] = 'corba_cdr'
              if 'dataport.subscription_type' not in new_props:
                  new_props['dataport.subscription_type'] = 'new'
              if 'dataport.data_type' not in new_props:
                  new_props['dataport.data_type'] = \
                          self.properties['dataport.data_type']
              super(DataPort, self).connect(dests=dests, name=name, id=id,
                                            props=new_props)