Why use two stars in point cut expression to match return type?
<p>In book Spring in Action, I found following AspectJ point cut expression:</p>

<pre><code>@Pointcut("execution(** concert.Performance.perform(..))")
void performance();
</code></pre>

<p>This will designate point cut <strong>performance</strong> to include methods whose name is "perform" and whose return type can be any. But notice it uses two stars (**) to match the return type, as I've experimented, one star (*) can perfectly do the job, this means the following line can do the same thing:</p>

<pre><code> @Pointcut("execution(* concert.Performance.perform(..))")
 void performance();
</code></pre>

<p>And I noticed that many AspectJ demos use two stars (**) to match "any return type", so is there some reason to do so? What is the problem of using one star to match "any return type"?</p>