     public func copy() -> GroupedArray<S, O>
     {
         let newGroupedArray = GroupedArray<S, O>()
-        newGroupedArray.intuGroupedArray = intuGroupedArray.copy() as INTUGroupedArray
+        newGroupedArray.intuGroupedArray = intuGroupedArray.copy() as! INTUGroupedArray
         return newGroupedArray
     }
     
     public func mutableCopy() -> MutableGroupedArray<S, O>
     {
         let newGroupedArray = MutableGroupedArray<S, O>()
-        newGroupedArray.intuGroupedArray = intuGroupedArray.mutableCopy() as INTUMutableGroupedArray
+        newGroupedArray.intuGroupedArray = intuGroupedArray.mutableCopy() as! INTUMutableGroupedArray
         return newGroupedArray
     }
     

{
    private var intuMutableGroupedArray: INTUMutableGroupedArray
    {
        return intuGroupedArray as INTUMutableGroupedArray
    }
    
    override public init()

    
    public func objectsInSection(section: S) -> [O]
    {
        return intuGroupedArray.objectsInSection(section) as! [O]
    }
    
    public func objectsInSectionAtIndex(sectionIndex: Int) -> [O]
    {
        return intuGroupedArray.objectsInSectionAtIndex(UInt(sectionIndex)) as! [O]
    }
    
    public func countAllObjects() -> Int
