Microsoft Bot Framework - InvalidNeedException, expected Call, have Wait
<p>I have been getting an InvalidNeedException in my bot project, but am unable to understand what exactly the exception means.</p>

<pre><code>Microsoft.Bot.Builder.Internals.Fibers.InvalidNeedException occurred
  HResult=-2146233079
  Message=invalid need: expected Call, have Wait
  Source=Microsoft.Bot.Builder
  StackTrace:
       at Microsoft.Bot.Builder.Internals.Fibers.Frame`1.Microsoft.Bot.Builder.Internals.Fibers.IWaiter&lt;C&gt;.NextWait[T]()
  InnerException: 
</code></pre>

<p>The following methods all belong to the same Dialog class</p>

<pre><code>    [LuisIntent("Test")]
    public async Task GetReleaseTickets(IDialogContext context, LuisResult result)
    {            
       await ProcessEntities(context, result.Entities);
       await context.PostAsync("done");
       context.Wait(MessageReceived);
    }

    private async Task ProcessEntities(IDialogContext context, IList&lt;EntityRecommendation&gt; entities) {
        context.Wait&lt;bool&gt;(ProcessX);
        context.Wait&lt;bool&gt;(ProcessY); // exception thrown here
    }
</code></pre>

<p>Where</p>

<pre><code>    public async Task ProcessX(IDialogContext context, IAwaitable&lt;bool&gt; argument) {
      //do X
      context.Done();
}

    public async Task ProcessY(IDialogContext context, IAwaitable&lt;bool&gt; argument) {
      //do Y
      context.Done();
}
</code></pre>

<p>It appears I can't call context.Wait twice in a row, but I'm unsure of what the recommended way to call two async methods would be, and want to understand what the "<em>expected Call, have Wait</em>" wants me to do. I don't want to call context.Call on that line, just make sure the method completes asynchronously.</p>