code: private void initDesktopDriver() {
      // super.init();
  
      setServices();
      setPrefsPaths();
  
      // Start Opera if it is not already running
  
      // If the Opera Binary isn't set we are assuming Opera is up and we
      // can ask it for the location of itself
      if (settings.getBinary() == null && !settings.noRestart()) {
  
        String operaPath = getOperaPath();
  
        logger.fine("OperaBinaryLocation retrieved from Opera: " + operaPath);
  
        if (operaPath.length() > 0) {
          settings.setBinary(new File(operaPath));
  
          // Now create the OperaLauncherRunner that we have the binary path
          runner = new OperaLauncherRunner(settings);
  
          // Quit and wait for opera to quit properly
          try {
            getScopeServices().quit(runner);
          } catch (IOException e) {
            throw new WebDriverException(e);
          }
  
          // Delete the profile to start the first test with a clean profile
          if (!profileUtils.deleteProfile()) {
            logger.severe("Could not delete profile");
          }
  
          // Work around stop and restart Opera so the Launcher has control of it now
          // Initialising the services will start Opera if the OperaLauncherRunner is
          // setup correctly
          startOpera();
        }
      }
    }
docs: Initializes services and starts Opera.
  
  If OperaBinaryLocation is not set, the binary location is retrieved from the connected Opera
  instance, before shutting it down, waiting for it to quit properly, and then restarting it
  under the control of the {@link OperaLauncherRunner}.