code: 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);
  	}
docs: Create a new exception from some reflection objects.
  
  @param  ReflectionParameter             $param
  @param  ReflectionFunctionAbstract|null $func
  @param  Exception|null                  $previous
  @param  string|null                     $afterMessage
  
  @return static