What does the Wait operator in Rx.NET do?
<p>In v2.2.5 of the Rx.NET library, there is an operator named <code>Wait</code>that is defined as so:</p>

<pre><code>public virtual TSource Wait&lt;TSource&gt;(IObservable&lt;TSource&gt; source)
</code></pre>

<p>Neither the <a href="https://msdn.microsoft.com/en-us/library/system.reactive.linq.observable(v=vs.103).aspx" rel="nofollow">class library reference on MSDN</a> nor <a href="http://rxwiki.wikidot.com/observable-operators" rel="nofollow">this page</a> mention this operator.</p>

<p>From looking at its implementation, which is a bit too cumbersome to follow, I am guessing it waits for the observable to produce all its elements and returns the last element if the observable had any elements, and if not, it returns the <code>default(TSource)</code>. But I am not sure.</p>

<p>If this is correct, then how is it different from <code>LastOrDefaultAsync</code>?</p>

<p>What does it actually do?</p>