/// <summary>
 /// Initializes a new instance of the
 /// ExchangeOnPremisesConnectionOption class.
 /// </summary>
 /// <param name="basicCredential">The Exchange on-premises service
 /// account must have a mailbox and the following roles:
 /// ApplicationImpersonation,
 /// Exchange Servers,
 /// Mail Recipients,
 /// Mail Recipient Creation,
 /// Distribution Groups,
 /// Mailbox Search,
 /// Active Directory,
 /// To migrate source public folders,
 /// make sure a root folder with the same name exists in the
 /// destination and the service account has the Owner permission level
 /// to the root folder.</param>
 public ExchangeOnPremisesConnectionOption(BasicCredential basicCredential = default(BasicCredential), ExchangeServerOption exchangeServerOption = default(ExchangeServerOption), string connectionId = default(string))
 {
     BasicCredential      = basicCredential;
     ExchangeServerOption = exchangeServerOption;
     ConnectionId         = connectionId;
     CustomInit();
 }
 /// <summary>
 /// Validate the object.
 /// </summary>
 /// <exception cref="Microsoft.Rest.ValidationException">
 /// Thrown if validation fails
 /// </exception>
 public virtual void Validate()
 {
     if (BasicCredential != null)
     {
         BasicCredential.Validate();
     }
     if (ExchangeServerOption != null)
     {
         ExchangeServerOption.Validate();
     }
 }