private function setErrorMessage($rule, $class) {

		$instance = $this -> getMessageInstance();

		$message  = $instance :: getMessage($rule -> field, $rule -> rule);
		$message  = null !== $message ? $message : $class -> getMessage();
		$message  = Translation :: translate($message, $rule -> parameters);
		$message  = vsprintf($message, $rule -> parameters);

		$instance :: setFieldnames([$rule -> field]);
		$instance :: setError($rule -> prefix, $rule -> field, $message);

		call_user_func_array([$instance, $rule -> rule], [$message]);
	}