### Question:
SakuliExceptionHandler { public static Path getScreenshotFile(Exception e) { if (e instanceof SakuliExceptionWithScreenshot) { if (((SakuliExceptionWithScreenshot) e).getScreenshot() != null) { return ((SakuliExceptionWithScreenshot) e).getScreenshot(); } } if (e != null && e.getSuppressed() != null) { for (Throwable ee : e.getSuppressed()) { if (ee instanceof SakuliExceptionWithScreenshot) { return ((SakuliExceptionWithScreenshot) ee).getScreenshot(); } } } return null; }  static List<Exception> getAllExceptions(TestSuite testSuite); static Path getScreenshotFile(Exception e); static Exception castTo(SakuliException e); void handleException(Exception e); boolean isAlreadyProcessed(Exception e); boolean resumeToTestExecution(Exception e); void handleException(Exception e, boolean resumeOnException); void handleException(String exceptionMessage, boolean resumeOnException); void handleException(String exceptionMessage, RegionImpl lastRegion, boolean resumeOnException); void handleException(Exception e, RegionImpl lastRegion, boolean resumeOnException); void handleException(LogResult logResult);  }### Answer:
@Test public void testGetScreenshotFile() throws Exception { SakuliExceptionWithScreenshot ex = new SakuliExceptionWithScreenshot(testExcMessage, expectedScreenshotPath); assertEquals(SakuliExceptionHandler.getScreenshotFile(ex), expectedScreenshotPath); Path expectedScreenShotFolder2 = Paths.get(screenShotFolder); ex.setScreenshot(null); ex.addSuppressed(new SakuliExceptionWithScreenshot(testExcMessage, expectedScreenShotFolder2)); assertEquals(SakuliExceptionHandler.getScreenshotFile(ex), expectedScreenShotFolder2); }