/** * @param \Lio\Accounts\UserUpdaterListener $listener * @param \Lio\Accounts\User $user * @param array $data * @param \Illuminate\Validation\Validator $validator * @return mixed */ public function update(UserUpdaterListener $listener, User $user, array $data, Validator $validator = null) { // check the passed in validator if ($validator && !$validator->isValid()) { return $listener->userValidationError($validator->getErrors()); } return $this->updateUser($user, $listener, $data); }