/// <summary>
        /// Update non-null non-identity account properties from the given account
        /// </summary>
        /// <param name="account">The account to copy to (target)</param>
        /// <param name="other">The account to copy from (source)</param>
        public static void Update(this IAzureAccount account, IAzureAccount source)
        {
            if (account != null && source != null)
            {
                account.Credential = source.Credential ?? account.Credential;
                foreach (var item in source.TenantMap)
                {
                    account.TenantMap[item.Key] = item.Value;
                }

                account.UpdateProperties(source);
            }
        }