private void CreateProxy()
{
if (!(_system is MarshalByRefObject))
{
throw new ArgumentException("Prevalent system type must extend MarshalByRefObject to be used with TransparentPrevalenceEngine!", "systemType");
}
if (HasSubSystems(_system.GetType()))
{
_transparentProxy = new PrevalentSubSystemHolderProxy(this, (MarshalByRefObject)_system).GetTransparentProxy();
}
else
{
_transparentProxy = new PrevalentSystemProxy(this, (MarshalByRefObject)_system).GetTransparentProxy();
}
}