code: private synchronized void onEvaluatorFailed(final EvaluatorStatusPOJO evaluatorStatus) {
  
      assert evaluatorStatus.getState() == State.FAILED;
  
      final EvaluatorException evaluatorException;
  
      if (evaluatorStatus.hasError()) {
  
        final Optional<Throwable> exception =
            this.exceptionCodec.fromBytes(evaluatorStatus.getError());
  
        evaluatorException = new EvaluatorException(getId(), exception.isPresent() ? exception.get() :
            new NonSerializableException("Exception sent, but can't be deserialized", evaluatorStatus.getError()));
  
      } else {
        evaluatorException = new EvaluatorException(getId(), new Exception("No exception sent"));
      }
  
      this.onEvaluatorException(evaluatorException);
    }
docs: Process an evaluator message that indicates a crash.
  
  @param evaluatorStatus