77    {
   78        if (string.IsNullOrEmpty(address))
   79        {
   80            if (throwExceptionIfFail)
   81            {
   83            }
   84            parsedData = 
default((
string, 
string, 
string, 
Encoding));
 
   85            return false;
   86        }
   87        if (displayNameEncoding == null)
   88        {
   90        }
   91        if (displayName == null)
   92        {
   93            displayName = string.Empty;
   94        }
   95        if (!string.IsNullOrEmpty(displayName))
   96        {
   97            if (!MailAddressParser.TryNormalizeOrThrow(displayName, out displayName, throwExceptionIfFail))
   98            {
   99                parsedData = 
default((
string, 
string, 
string, 
Encoding));
 
  100                return false;
  101            }
  102            if (displayName.Length >= 2 && displayName[0] == '"' && displayName[^1] == '"')
  103            {
  104                displayName = displayName.Substring(1, displayName.Length - 2);
  105            }
  106        }
  107        if (!MailAddressParser.TryParseAddress(address, out var parsedAddress, throwExceptionIfFail))
  108        {
  109            parsedData = 
default((
string, 
string, 
string, 
Encoding));
 
  110            return false;
  111        }
  112        if (string.IsNullOrEmpty(displayName))
  113        {
  114            displayName = parsedAddress.DisplayName;
  115        }
  116        parsedData = (displayName: displayName, user: parsedAddress.User, host: parsedAddress.Host, displayNameEncoding: displayNameEncoding);
  117        return true;
  118    }
static Encoding GetEncoding(int codepage)