I have a `BackgroundWorker` in a WPF application. If a condition is true, I want to immediately stop processing the `_DoWork` method and go straight to the `_RunWorkerCompleted`. I'm using `.CancelAsync`, but the code after this point continues to execute. 

How can I cancel out of my `_DoWork` and fall into `_RunWorkerCompleted`?

Example:

```
private BackgroundWorker step1 = new BackgroundWorker();

public MyWindow()
{
    InitializeComponent();
    step1.WorkerSupportsCancellation = true;
    step1.DoWork += new DoWorkEventHandler(step1_DoWork);
    step1.RunWorkerCompleted += new RunWorkerCompletedEventHandler(step1_RunWorkerCompleted);
}

private void step1_DoWork(object sender, DoWorkEventArgs e)
{
    if (someCondition)
    {
        step1.CancelAsync();                
    }
    // code I do not want to execute
}

private void step1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
    // I want to jump here from the cancel point
}

```