package scala.ref
trait ReferenceWrapper[+T <: AnyRef] extends Reference[T] with Proxy {
val underlying: java.lang.ref.Reference[_ <: T]
override def get = {
val ret = underlying.get
if (ret eq null) None else Some(ret)
}
def apply() = {
val ret = underlying.get
if (ret eq null) throw new NoSuchElementException
ret
}
def clear = underlying.clear
def enqueue = underlying.enqueue
def isEnqueued = underlying.isEnqueued
def self = underlying
}
private trait ReferenceWithWrapper[T <: AnyRef] {
val wrapper: ReferenceWrapper[T]
}