 }
 
 extension UILabel {
-	//
-	// calculating, if size to fit would expand or shrink the label
-	// returns true if the label Size is smaller then before
-	// will not change the label' Size
-	//
+
+    /**
+     Calculates if size to fit would expand or shrink the label.
+
+     Will not change the size of the label.
+
+     - returns: true if the label Size is smaller than before
+     */
 	func textFitsWidth() -> Bool {
 		let actualSize = self.frame.size
 		self.sizeToFit()


extension UIDevice {

    //
    // To check if the current Device has a SimCard or not, we will read the Carrier informations
    // If there are no carrier Informations, there is no sim and this function will return false
    //
    // For more informations read Apple Doc's for CTCarrier's mobileCountryCode:
    // From this Doc (https://developer.apple.com/library/ios/documentation/NetworkingInternet/Reference/CTCarrier/index.html#//apple_ref/occ/instp/CTCarrier/mobileCountryCode):
    //
    // The value for this property is nil if any of the following apply:
    // - There is no SIM card in the device. [...]
    //
    func hasSimCard() -> Bool {
        return (CTTelephonyNetworkInfo().subscriberCellularProvider?.mobileCountryCode != nil)
    }

extension Dictionary {

	mutating func removeValuesOfType<T>(type: T.Type) {
		let keysToRemove = Array(self.keys).filter {
            self[$0] is T
        }
		for key in keysToRemove {
			self.removeValueForKey(key)
		}
