internal CrossAppDomainSink(CrossAppDomainData xadData)
{
//
// WARNING: xadData.ContextID may not be valid at this point. Because
// CrossAppDomainData._ContextID is an IntPtr and IntPtrs are
// value types, the deserializer has to wait until the very
// end of deserialization to fixup value types. However, when
// we unmarshal objects, we need to setup the x-AD sink and
// initialize it with this data. Fortunately, that data won't
// be consumed until deserialization is complete, so we just
// need to take care not to read _ContextID in the constructor.
// The xadData object ref will be finalized by the time we need
// to consume its contents and everything should work properly.
//
_xadData = xadData;
}