/// <summary>
 /// Sets a published application matching the given alias (short unique
 /// name) in the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <param name='alias'>
 /// Required. Alias of published application
 /// </param>
 /// <param name='applicationDetails'>
 /// Required. New details for the application
 /// </param>
 /// <returns>
 /// Definition for result of ModifyApplicaton operation.
 /// </returns>
 public static Task<ModifyApplicationResult> ModifyApplicationAsync(this IPublishingOperations operations, string collectionName, string alias, ApplicationDetailsParameter applicationDetails)
 {
     return operations.ModifyApplicationAsync(collectionName, alias, applicationDetails, CancellationToken.None);
 }
 /// <summary>
 /// Sets a published application matching the given alias (short unique
 /// name) in the collection.
 /// </summary>
 /// <param name='operations'>
 /// Reference to the
 /// Microsoft.Azure.Management.RemoteApp.IPublishingOperations.
 /// </param>
 /// <param name='collectionName'>
 /// Required. Collection Name
 /// </param>
 /// <param name='alias'>
 /// Required. Alias of published application
 /// </param>
 /// <param name='applicationDetails'>
 /// Required. New details for the application
 /// </param>
 /// <returns>
 /// Definition for result of ModifyApplicaton operation.
 /// </returns>
 public static ModifyApplicationResult ModifyApplication(this IPublishingOperations operations, string collectionName, string alias, ApplicationDetailsParameter applicationDetails)
 {
     return Task.Factory.StartNew((object s) => 
     {
         return ((IPublishingOperations)s).ModifyApplicationAsync(collectionName, alias, applicationDetails);
     }
     , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult();
 }