private static void ApplyFontFormat( this Range range, FontFormat format) { if (format == null) { return; } var implementedProperties = new[] { nameof(FontFormat.FontColor), nameof(FontFormat.FontNamesInFallbackOrder), nameof(FontFormat.FontSizeInPoints), nameof(FontFormat.Options), }; format.ThrowOnNotImplementedProperty(implementedProperties); range.SetFontColor(format.FontColor); range.SetFontName(format.FontNamesInFallbackOrder?.FirstOrDefault()); range.SetFontSize(format.FontSizeInPoints == null ? (int?)null : decimal.ToInt32(Math.Round((decimal)format.FontSizeInPoints))); range.ApplyFontFormatOptions(format.Options); }