public virtual void Dispose()
{
if (_farProtocol != null)
{
_farProtocol._nearProtocol = null;
if (DeleteFarProtocol)
{
_farProtocol.EnqueueForDelete();
}
_farProtocol = null;
}
if (_nearProtocol != null)
{
_nearProtocol._farProtocol = null;
if (DeleteNearProtocol)
{
_nearProtocol.EnqueueForDelete();
}
_nearProtocol = null;
}
this.UnRegisterProtocol();
}