getHooks($hooks, $commandData->annotationData()); foreach ($validators as $validator) { $validated = $this->callValidator($validator, $commandData); if ($validated === false) { return new CommandError(); } if (is_object($validated)) { return $validated; } } } protected function callValidator($validator, CommandData $commandData) { if ($validator instanceof ValidatorInterface) { return $validator->validate($commandData); } if (is_callable($validator)) { return $validator($commandData); } } }