public bool register(String name, OtpMbox mbox)
{
lock (this)
{
if (name == null)
{
if (mbox.Name != null)
{
byName.Remove(mbox.Name);
mbox.Name = null;
}
}
else
{
if (get(name) != null)
{
return false;
}
byName.Add(name, new WeakReference(mbox));
mbox.Name = name;
}
}
return true;
}