code: def _connectWithContextFactory(ctxFactory, workbench):
      
      endpoint = SSL4ClientEndpoint(reactor, "localhost", 4430, ctxFactory)
  
      splash = _Splash(u"Connecting", u"Connecting...")
      workbench.display(splash)
  
      d = endpoint.connect(Factory(workbench))
  
      @d.addBoth
      def closeSplash(returnValue):
          workbench.undisplay()
          return returnValue
  
      @d.addErrback
      def notifyFailure(f):
          f.trap(ConnectError)
          d = alert(workbench, u"Couldn't connect", u"Connection failed! "
                    "Check internet connection, or try again later.\n"
                    "Error: {!r}".format(f.value))
          return d.addCallback(lambda _result: reactor.stop())
  
      return d
docs: Connect using the given context factory. Notifications go to the
      given workbench.