     public subscript(position: Index) -> Base.Generator.Element {
         return base[position]
     }
+    
+    public func generate() -> Generator {
+        return ParallelCollectionGenerator(base: base.generate())
+    }
+}
+
+public struct ParallelCollectionGenerator<Base: GeneratorType> : GeneratorType, SequenceType {
+    
+    private var base: Base
+    
+    public mutating func next() -> Base.Element? {
+        return base.next()
+    }
 }
 
 public struct ParallelMapCollection<Base: CollectionType, Element where Base.Index : RandomAccessIndexType> : ParallelCollectionType {

    
    private let base: Base
    
    public typealias Generator = IndexingGenerator<ParallelCollection>
    
    public typealias Index = Base.Index
    

    private let base: Base
    private let transform: (Base.Generator.Element) -> Element
    
    public typealias Generator = ParallelMapCollectionGenerator<Base.Generator, Element>
    
    public typealias Index = Base.Index
    
