private async Task ProcessPackageInternal(Package package, ProgressLeaf p) {
Repository.Log("\nChecking out {0} into {1}, please be patient...", package.MetaData.GetFullName(),
package.WorkingPath);
switch (Settings.CheckoutType) {
case CheckoutType.NormalCheckout:
await package.CheckoutAsync(p).ConfigureAwait(false);
break;
case CheckoutType.CheckoutWithoutRemoval:
await package.CheckoutWithoutRemovalAsync(p).ConfigureAwait(false);
break;
default:
throw new ArgumentOutOfRangeException();
}
}