public static function fromReflectionParam(
		ReflectionParameter $param,
		ReflectionFunctionAbstract $func = null,
		Exception $previous = null,
		$afterMessage = null
	) {
		$message = static::makeMessage($param, $func);

		if ($previous) {
			$message .= ' - '.$previous->getMessage();
		}

		if ($afterMessage) {
			$message .= ' - '.$afterMessage;
		}

		return new static($message, 0, $previous);
	}