private void progressBackgroundWorker_DoWork( object sender, DoWorkEventArgs e) { var ei = (CommandProcessorSendInformation)e.Argument; var cp = new CommandProcessorSend(); cp.Prepare(ei); cp.Process((BackgroundWorker)sender); }