private void MultiPackageWindowProcess(ShipmentMapper shipment) { StopTimer(); var delayCount = 20; while (delayCount > 0 && _packageMainWindowDialog == null) { MultiPackageWindowWait(); MultiPackageWindowFindMainDialog(_mainWindow); delayCount--; Thread.Sleep(100); } if (_packageMainWindowDialog != null) { var packageMap = new FedExMultiPieceShipmentMap(new ShipmentAutomationUIControlHelper(), _packageMainWindowDialog, _messagesProvider); packageMap.Map(); MultiPackageWindowInsertData(packageMap, shipment); } else { _messagesProvider.Warn("Cannot find source for input multipackage data."); } }