@ExperimentalNativeApi class WeakReference<T : Any>
Class WeakReference encapsulates weak reference to an object, which could be used to either retrieve a strong reference to an object, or return null, if object was already destroyed by the memory manager.
Creates a weak reference object pointing to an object. Weak reference doesn't prevent removing object, and is nullified once object is collected.
Returns either reference to an object or null, if it was collected.
val value: T?