docs: public XComponentContext connect(String oooConnectionString) throws BootstrapException {
  
          this.oooConnectionString = oooConnectionString;
  
          XComponentContext xContext = null;
          try {
              // get local context
              XComponentContext xLocalContext = getLocalContext();
  
              oooServer.start();
  
              // initial service manager
              XMultiComponentFactory xLocalServiceManager = xLocalContext.getServiceManager();
              if ( xLocalServiceManager == null )
                  throw new BootstrapException("no initial service manager!");
  
              // create a URL resolver
              XUnoUrlResolver xUrlResolver = UnoUrlResolver.create(xLocalContext);
  
              // wait until office is started
              for (int i = 0;; ++i) {
                  try {
                      xContext = getRemoteContext(xUrlResolver);
                      break;
                  } catch ( NoConnectException ex ) {
                      // Wait 500 ms, then try to connect again, but do not wait
                      // longer than 5 sec total:
                      if (i == 10) {
                          throw new BootstrapException(ex);
                      }
                      Thread.sleep(500);
                  }
              }
          } catch (RuntimeException e) {
              throw e;
          } catch (Exception e) {
              throw new BootstrapException(e);
          }
          return xContext;
      }