     *  suspend queue
     *
     */
-    func suspend() {
+    public func suspend() {
         dispatch_suspend(dispatchQueue)
     }
     

    *  @param GCDClosure :  the block will be run
    *
    */
    class func sync(queueType: QueueType, closure: GCDClosure) {
        dispatch_sync(queueType.getQueue(), closure)
    }
   

    *  resume queue
    *
    */
    public func resume() {
        dispatch_resume(dispatchQueue)
    }
    
}

public class GCDGroup
{
    let dispatchGroup: dispatch_group_t
    
    public init() {
        dispatchGroup = dispatch_group_create()
    }
    
    public func enter() {
        dispatch_group_enter(dispatchGroup)
    }
    
    public func leave() {
        dispatch_group_leave(dispatchGroup)
    }
   
