         return e
       }
     }
-
     return nil
   }
 

    {
      dispatch_group_wait(barrier, DISPATCH_TIME_FOREVER)
    }
    assert(writerCount != 0 || closedState != 0, __FUNCTION__)

    if readerCount == 0 && OSAtomicCompareAndSwap32Barrier(0, 1, &readerCount)
    { // Only one thread can get here.
      if let e = element


  override func extract(selection: Selection) -> T?
  {
    return getElement()
  }

  override func selectGet(select: ChannelSemaphore, selection: Selection)
