def _validate(self, problem: 'up.model.AbstractProblem', plan: Plan) -> 'up.engines.results.ValidationResult':
    for (engine, _) in self.engines:
        assert issubclass(engine, engines.mixins.PlanValidatorMixin)
        if (not engine.supports(problem.kind)):
            raise UPUsageError('Parallel engines cannot validate this kind of problem!')
    return cast(ValidationResult, self._run_parallel('validate', problem, plan)[0])
def _validate(self, problem: 'up.model.AbstractProblem', plan: Plan) -> 'up.engines.results.ValidationResult':
    for (engine, _) in self.engines:
        assert issubclass(engine, engines.mixins.PlanValidatorMixin)
        if (not engine.supports(problem.kind)):
            raise UPUsageError('Parallel engines cannot validate this kind of problem!')
    return cast(ValidationResult, self._run_parallel('validate', problem, plan)[0])