     public var description: String {
         
         switch type {
-        case .UInt16ArrayType: return "\(uInt16Array ?? []))"
-        case .UInt32ArrayType: return "\(uInt32Array ?? []))"
-        case .UInt64ArrayType: return "\(uInt64Array ?? []))"
-        case .UInt8ArrayType: return "\(uInt8Array ?? []))"
-        case .S15Fixed16ArrayType: return "\(s15Fixed16Array ?? []))"
-        case .U16Fixed16ArrayType: return "\(u16Fixed16Array ?? []))"
-        case .XYZArrayType: return "\(XYZArray ?? []))"
+        case .UInt16Array: return "\(uInt16Array ?? []))"
+        case .UInt32Array: return "\(uInt32Array ?? []))"
+        case .UInt64Array: return "\(uInt64Array ?? []))"
+        case .UInt8Array: return "\(uInt8Array ?? []))"
+        case .S15Fixed16Array: return "\(s15Fixed16Array ?? []))"
+        case .U16Fixed16Array: return "\(u16Fixed16Array ?? []))"
+        case .XYZArray: return "\(XYZArray ?? []))"
         default: return "TagData(type:\(type), data:\(data))"
         }
     }

    
    public var s15Fixed16Array: [iccProfile.S15Fixed16Number]? {
        
        return type == .S15Fixed16ArrayType ? data.withUnsafeBytes { Array(UnsafeBufferPointer(start: $0, count: data.count / MemoryLayout<iccProfile.S15Fixed16Number>.stride)) } : nil
    }
    
    public var u16Fixed16Array: [iccProfile.U16Fixed16Number]? {
        
        return type == .U16Fixed16ArrayType ? data.withUnsafeBytes { Array(UnsafeBufferPointer(start: $0, count: data.count / MemoryLayout<iccProfile.U16Fixed16Number>.stride)) } : nil
    }
}


        
        case unknown
        
        case AToB0                          = 0x41324230  /* 'A2B0' */
        case AToB1                          = 0x41324231  /* 'A2B1' */
        case AToB2                          = 0x41324232  /* 'A2B2' */
        case BlueColorant                   = 0x6258595A  /* 'bXYZ' */
        case BlueTRC                        = 0x62545243  /* 'bTRC' */
        case BToA0                          = 0x42324130  /* 'B2A0' */
        case BToA1                          = 0x42324131  /* 'B2A1' */
        case BToA2                          = 0x42324132  /* 'B2A2' */
        case CalibrationDateTime            = 0x63616C74  /* 'calt' */
        case CharTarget                     = 0x74617267  /* 'targ' */
        case ChromaticAdaptation            = 0x63686164  /* 'chad' */
        case Chromaticity                   = 0x6368726D  /* 'chrm' */
        case ColorantOrder                  = 0x636C726F  /* 'clro' */
        case ColorantTable                  = 0x636C7274  /* 'clrt' */
        case ColorantTableOut               = 0x636C6F74  /* 'clot' */
        case ColorimetricIntentImageStateTag   = 0x63696973  /* 'ciis' */
        case Copyright                      = 0x63707274  /* 'cprt' */
        case CrdInfo                        = 0x63726469  /* 'crdi' Removed in V4 */
        case Data                           = 0x64617461  /* 'data' Removed in V4 */
        case DateTime                       = 0x6474696D  /* 'dtim' Removed in V4 */
        case DeviceMfgDesc                  = 0x646D6E64  /* 'dmnd' */
        case DeviceModelDesc                = 0x646D6464  /* 'dmdd' */
        case DeviceSettings                 = 0x64657673  /* 'devs' Removed in V4 */
        case DToB0                          = 0x44324230  /* 'D2B0' */
        case DToB1                          = 0x44324231  /* 'D2B1' */
        case DToB2                          = 0x44324232  /* 'D2B2' */
        case DToB3                          = 0x44324233  /* 'D2B3' */
        case BToD0                          = 0x42324430  /* 'B2D0' */
        case BToD1                          = 0x42324431  /* 'B2D1' */
        case BToD2                          = 0x42324432  /* 'B2D2' */
        case BToD3                          = 0x42324433  /* 'B2D3' */
        case Gamut                          = 0x67616D74  /* 'gamt' */
        case GrayTRC                        = 0x6b545243  /* 'kTRC' */
        case GreenColorant                  = 0x6758595A  /* 'gXYZ' */
        case GreenTRC                       = 0x67545243  /* 'gTRC' */
        case Luminance                      = 0x6C756d69  /* 'lumi' */
        case Measurement                    = 0x6D656173  /* 'meas' */
        case MediaBlackPoint                = 0x626B7074  /* 'bkpt' */
        case MediaWhitePoint                = 0x77747074  /* 'wtpt' */
        case MetaData                       = 0x6D657461  /* 'meta' */
        case NamedColor2                    = 0x6E636C32  /* 'ncl2' */
        case OutputResponse                 = 0x72657370  /* 'resp' */
        case PerceptualRenderingIntentGamutTag = 0x72696730  /* 'rig0' */
        case Preview0                       = 0x70726530  /* 'pre0' */
        case Preview1                       = 0x70726531  /* 'pre1' */
        case Preview2                       = 0x70726532  /* 'pre2' */
        case PrintCondition                 = 0x7074636e  /* 'ptcn' */
        case ProfileDescription             = 0x64657363  /* 'desc' */
        case ProfileSequenceDesc            = 0x70736571  /* 'pseq' */
        case ProfileSequceId                = 0x70736964  /* 'psid' */
        case Ps2CRD0                        = 0x70736430  /* 'psd0' Removed in V4 */
        case Ps2CRD1                        = 0x70736431  /* 'psd1' Removed in V4 */
        case Ps2CRD2                        = 0x70736432  /* 'psd2' Removed in V4 */
        case Ps2CRD3                        = 0x70736433  /* 'psd3' Removed in V4 */
        case Ps2CSA                         = 0x70733273  /* 'ps2s' Removed in V4 */
        case Ps2RenderingIntent             = 0x70733269  /* 'ps2i' Removed in V4 */
        case RedColorant                    = 0x7258595A  /* 'rXYZ' */
        case RedTRC                         = 0x72545243  /* 'rTRC' */
        case SaturationRenderingIntentGamutTag = 0x72696732  /* 'rig2' */
        case ScreeningDesc                  = 0x73637264  /* 'scrd' Removed in V4 */
        case Screening                      = 0x7363726E  /* 'scrn' Removed in V4 */
        case Technology                     = 0x74656368  /* 'tech' */
        case UcrBg                          = 0x62666420  /* 'bfd ' Removed in V4 */
        case ViewingCondDesc                = 0x76756564  /* 'vued' */
        case ViewingConditions              = 0x76696577  /* 'view' */
    }
}

