code: @Override
  	public Response execute(Command command) throws IOException {
  		if (DriverCommand.NEW_SESSION.equals(command.getName())) {
  			service.start();
  		}
  
  		try {
  			return super.execute(command);
  		} catch (Throwable t) {
  			Throwable rootCause = Throwables.getRootCause(t);
  			if (rootCause instanceof ConnectException &&
  					"Connection refused".equals(rootCause.getMessage()) &&
  					!service.isRunning()) {
  				throw new WebDriverException("The driver server has unexpectedly died!", t);
  			}
  			Throwables.propagateIfPossible(t);
  			throw new WebDriverException(t);
  		} finally {
  			if (DriverCommand.QUIT.equals(command.getName())) {
  				service.stop();
  			}
  		}
  	}
docs: Sends the {@code command} to the driver server for execution. The server will be started
  if requesting a new session. Likewise, if terminating a session, the server will be shutdown
  once a response is received.
  
  @param command The command to execute.
  @return The command response.
  @throws java.io.IOException If an I/O error occurs while sending the command.