private IVirtualItem MoveItem(IChangeVirtualItem item, IVirtualFolder dest) { ChangeItemAction action; AvailableItemActions canRetryOrElevate = AvailableItemActions.CanRetryOrElevate; Label_0003:; try { return item.MoveTo(dest); } catch (UnauthorizedAccessException exception) { action = this.MoveItemError(item, canRetryOrElevate, exception); canRetryOrElevate &= ~AvailableItemActions.CanElevate; } catch (Exception exception2) { action = this.MoveItemError(item, canRetryOrElevate, exception2); } switch (action) { case ChangeItemAction.Retry: goto Label_0003; case ChangeItemAction.Skip: return null; case ChangeItemAction.Cancel: base.CancelAsync(); return null; } throw new InvalidEnumArgumentException(); }