// Token: 0x060003A4 RID: 932 RVA: 0x00020A9C File Offset: 0x0001EC9C
        internal static bool Render(UserContext userContext, TextWriter writer, string displayName, string smtpAddress, string routingAddress, string routingType, AddressOrigin addressOrigin, int recipientFlags, int readItemType, RecipientItemType recipientWell, ADObjectId adObjectId, StoreObjectId storeObjectId, RecipientWellNode.RenderFlags flags, string idString, bool isWebPartRequest)
        {
            if (userContext == null)
            {
                throw new ArgumentNullException("userContext");
            }
            if (writer == null)
            {
                throw new ArgumentNullException("writer");
            }
            bool flag  = (flags & RecipientWellNode.RenderFlags.ReadOnly) != RecipientWellNode.RenderFlags.None;
            bool flag2 = false;

            if (string.CompareOrdinal(routingType, "MAPIPDL") != 0 && (string.IsNullOrEmpty(routingAddress) || string.IsNullOrEmpty(routingType)))
            {
                if (string.IsNullOrEmpty(displayName))
                {
                    ExTraceGlobals.MailDataTracer.TraceDebug(0L, "Found recipient without an email address or display name");
                    return(false);
                }
                flag2          = true;
                routingAddress = null;
                smtpAddress    = null;
                routingType    = null;
            }
            else if (string.IsNullOrEmpty(displayName))
            {
                if (!string.IsNullOrEmpty(smtpAddress))
                {
                    displayName = smtpAddress;
                }
                else if (!string.IsNullOrEmpty(routingAddress))
                {
                    displayName = routingAddress;
                }
            }
            if ((flags & RecipientWellNode.RenderFlags.RenderCommas) != RecipientWellNode.RenderFlags.None)
            {
                writer.Write("; ");
            }
            writer.Write("<span class=\"");
            if (flag2)
            {
                writer.Write("rwURO\">");
                if (displayName != null)
                {
                    Utilities.HtmlEncode(displayName, writer);
                }
            }
            else
            {
                writer.Write("rwRO");
                if ((recipientFlags & 1) != 0)
                {
                    writer.Write(" rwDL");
                }
                writer.Write("\">");
            }
            bool flag3 = false;

            if (!string.IsNullOrEmpty(idString))
            {
                if ((userContext.IsFeatureEnabled(Feature.Contacts) && storeObjectId != null) || adObjectId != null)
                {
                    writer.Write("<a href=\"#\"");
                    if (storeObjectId != null)
                    {
                        writer.Write(" id=\"");
                        Utilities.HtmlEncode(storeObjectId.ToBase64String(), writer);
                    }
                    else if (adObjectId != null)
                    {
                        writer.Write(" id=\"");
                        Utilities.HtmlEncode(Utilities.GetBase64StringFromADObjectId(adObjectId), writer);
                    }
                    writer.Write("\" onClick=\"return onClkRcpt(this,{0}", readItemType);
                    if (!flag)
                    {
                        writer.Write(",{0}", (int)recipientWell);
                    }
                    writer.Write(");\">");
                    flag3 = true;
                }
                else if (routingType == "SMTP" && !string.IsNullOrEmpty(smtpAddress) && flag && !isWebPartRequest)
                {
                    writer.Write("<a href=\"");
                    Utilities.HtmlEncode("?ae=Item&t=IPM.Note&a=New&to=", writer);
                    Utilities.HtmlEncode(Utilities.UrlEncode(smtpAddress), writer);
                    if (!string.IsNullOrEmpty(displayName))
                    {
                        Utilities.HtmlEncode("&nm=", writer);
                        Utilities.HtmlEncode(Utilities.UrlEncode(displayName), writer);
                    }
                    writer.Write("\" class=\"emadr\">");
                    flag3 = true;
                }
            }
            if (!flag2)
            {
                if (displayName != null)
                {
                    Utilities.HtmlEncode(displayName, writer);
                }
                RecipientWellNode.RenderFormattedAddress(writer, displayName, smtpAddress, routingAddress, routingType);
            }
            if (flag3)
            {
                writer.Write("</a>");
            }
            if (!flag && !string.IsNullOrEmpty(idString))
            {
                writer.Write(" <span class=\"sq\">[<a href=\"#\" onClick=\"return onClkRmRcp('");
                writer.Write(idString);
                writer.Write("')\">");
                writer.Write(LocalizedStrings.GetHtmlEncoded(341226654));
                writer.Write("</a>]</span>");
            }
            writer.Write("</span>");
            return(true);
        }