### Question:
ExecutionFailureHandler { @VisibleForTesting static boolean isUnrecoverableError(Throwable cause) { Optional<Throwable> unrecoverableError = ThrowableClassifier.findThrowableOfThrowableType( cause, ThrowableType.NonRecoverableError); return unrecoverableError.isPresent(); } ExecutionFailureHandler(
		FailoverStrategy failoverStrategy,
		RestartBackoffTimeStrategy restartBackoffTimeStrategy); FailureHandlingResult getFailureHandlingResult(ExecutionVertexID failedTask, Throwable cause);  }### Answer:
@Test public void testUnrecoverableErrorCheck() { assertFalse(ExecutionFailureHandler.isUnrecoverableError(new Exception())); assertTrue(ExecutionFailureHandler.isUnrecoverableError(new SuppressRestartsException(new Exception()))); assertTrue(ExecutionFailureHandler.isUnrecoverableError( new Exception(new SuppressRestartsException(new Exception())))); }