 
 		textStorage.setAttributedString(finalizedText)
 
-		_finalizedText = finalizedText.copy() as! NSAttributedString
+		_finalizedText = finalizedText.copy() as? NSAttributedString
 		_numberOfLines = nil
 
 		return finalizedText


	public var lineBreakMode = NSLineBreakMode.ByWordWrapping {
		didSet {
		guard lineBreakMode != oldValue else {
			return
		}

		textContainer.lineBreakMode = lineBreakMode

		invalidateIntrinsicContentSize()
		setNeedsUpdateFinalizedText()
		}
	}


	public var maximumNumberOfLines: Int? = 1 {
		didSet {
		if let maximumNumberOfLines = maximumNumberOfLines {
			precondition(maximumNumberOfLines > 0, "Label.maximumNumberOfLines must be either larger than zero or nil.")
		}

		guard maximumNumberOfLines != oldValue else {
			return
		}

		textContainer.maximumNumberOfLines = maximumNumberOfLines ?? 0

		invalidateIntrinsicContentSize()
		setNeedsDisplay()
		}
	}


	public var minimumScaleFactor = CGFloat(1) {
		didSet {
		minimumScaleFactor = minimumScaleFactor.clamp(min: 0, max: 1)

		guard minimumScaleFactor != oldValue else {
			return
		}

		invalidateIntrinsicContentSize()
		setNeedsDisplay()
		}
	}


			NSFontAttributeName: font,
			NSForegroundColorAttributeName: finalTextColor,
			NSParagraphStyleAttributeName: paragraphStyle
			])

		attributedText.enumerateAttributesInRange(NSRange(forString: finalizedText.string), options: [.LongestEffectiveRangeNotRequired]) { attributes, range, _ in
			finalizedText.addAttributes(attributes, range: range)
