public T ReleaseWeakReference(ulong id)
{
WeakReference reference = null;
lock(this) {
references.TryGetValue(id, out reference);
references.Remove(id);
}
T thing = default(T);
if (reference != null) {
thing = (T) reference.Target;
}
return thing;
}
}