private SpellChecker.OptionDescription GetOptionDescriptionImpl(string optionId)
 {
     RCW.IOptionDescription optionDescription = this._speller.Value.GetOptionDescription(optionId);
     if (optionDescription == null)
     {
         return(null);
     }
     return(SpellChecker.OptionDescription.Create(optionDescription, false, true));
 }
 internal static SpellChecker.OptionDescription Create(RCW.IOptionDescription optionDescription, bool shouldSuppressCOMExceptions = true, bool shouldReleaseCOMObject = true)
 {
     if (optionDescription == null)
     {
         throw new ArgumentNullException("optionDescription");
     }
     SpellChecker.OptionDescription optionDescription2 = new SpellChecker.OptionDescription(optionDescription.Id, optionDescription.Heading, optionDescription.Description, null);
     try
     {
         optionDescription2._labels = optionDescription.Labels.ToList(true, true);
     }
     catch (COMException obj) when(shouldSuppressCOMExceptions)
     {
     }
     finally
     {
         if (shouldReleaseCOMObject)
         {
             Marshal.ReleaseComObject(optionDescription);
         }
     }
     return(optionDescription2);
 }