 //  - NSCoder.encodeConditionalObject (the implementation in FastCoder ObjC is not correct too)
 //  - Complex object cycles obj1 <-> obj2 (the implementation of on FastCoder ObjC is not correct too)
 //  - support "propertyListWithData"
-//  - support for NSArray / NSMutableArray
 //  - support for NSDictionary / NSMutableDictionary
 //  - support for NSSet / NSSetOrderedSet
-//  - support for NSData
 //  - support for NSMutableString
 //  - support for NSURL
-
-//
 //
 //  Distributed under the permissive zlib License
 //  Get the latest version from here:

//
//  FastCoding.swift
//
//  Version 0.7
//
//  Created by Stephan Zehrer 04/21/2015
//  Copyright (c) 2015 Stephan Zehrer

        return value
    }
    
    static func FCReadRawData(decoder : FCDecoder) -> NSData {
        
        let length = FCReadUInt32(decoder)
        return decoder.getDataSection(Int(length))
    }
    
    
    static func FCReadData(decoder : FCDecoder) -> NSData {
        let data = FCReadRawData(decoder)
        
        decoder.objectCache.append(data)
        
        return data
    }
    
    static func FCReadMutableData(decoder : FCDecoder) -> NSMutableData {
        let temp = FCReadRawData(decoder)
        
        let data = NSMutableData(data: temp)
        
        decoder.objectCache.append(data)
        
        return data
    }
    
    static func FCReadDate(decoder : FCDecoder) -> NSDate {
        var value : NSTimeInterval = 0
        FCReadValue(&value, decoder: decoder)
        
        let date = NSDate(timeIntervalSince1970: value)
        decoder.objectCache.append(date)
        
        return date
    }
    
/**
static id FCReadDate(__unsafe_unretained FCNSDecoder *decoder)
{
    FC_ALIGN_INPUT(NSTimeInterval, *decoder->_offset);
    FC_READ_VALUE(NSTimeInterval, *decoder->_offset, decoder->_input, decoder->_total);
    __autoreleasing NSDate *date = [NSDate dateWithTimeIntervalSince1970:value];
    FCCacheParsedObject(date, decoder->_objectCache);
    return date;
}
*/
    
    static func FCReadObject(decoder : FCDecoder) -> NSObject? {
        var type = FCReadType(decoder)

