void startPortScanning(ImmutableList<PluginMatchingResult<PortScanner>> selectedPortScanners) {
    checkState(currentExecutionStage.equals(ExecutionStage.START));

    this.portScanningTimer.start();
    this.currentExecutionStage = ExecutionStage.PORT_SCANNING;
    this.selectedPortScanners = checkNotNull(selectedPortScanners);
  }
@Test
  public void startPortScanning_whenExecutionStageIsNotStart_throwsException() {
    ExecutionTracer executionTracer =
        new ExecutionTracer(
            portScanningTimer, serviceFingerprintingTimer, vulnerabilityDetectingTimer);
    ImmutableList<PluginMatchingResult<PortScanner>> installedPortScanners =
        pluginManager.getPortScanners();
    executionTracer.startPortScanning(installedPortScanners);

    assertThrows(
        IllegalStateException.class,
        () -> executionTracer.startPortScanning(installedPortScanners));
  }