public MonadConnectionInfo(Uri server, PSCredential credentials, string shellUri, string typesFile, AuthenticationMechanism authenticationMechanism, ExchangeRunspaceConfigurationSettings.SerializationLevel serializationLevel, ExchangeRunspaceConfigurationSettings.ExchangeApplication clientApplication, string clientVersion, int maxRedirectionCount, bool skipCertificateCheck) : base(server, credentials, shellUri, typesFile, authenticationMechanism, skipCertificateCheck, maxRedirectionCount)
        {
            Uri uri = server;

            if (serializationLevel != ExchangeRunspaceConfigurationSettings.SerializationLevel.Partial)
            {
                uri = MonadConnectionInfo.AppendUriProperty(uri, "serializationLevel".ToString(), serializationLevel.ToString());
            }
            if (clientApplication != ExchangeRunspaceConfigurationSettings.ExchangeApplication.Unknown)
            {
                uri = MonadConnectionInfo.AppendUriProperty(uri, "clientApplication".ToString(), clientApplication.ToString());
            }
            if (MonadConnectionInfo.exchangeClientVersion != null)
            {
                uri = MonadConnectionInfo.AppendUriProperty(uri, "ExchClientVer", MonadConnectionInfo.exchangeClientVersion);
            }
            this.serverUri          = uri;
            this.clientApplication  = clientApplication;
            this.serializationLevel = serializationLevel;
            this.clientVersion      = clientVersion;
        }