public override IMessage Invoke(IMessage reqMsg){ IConstructionCallMessage message1 = reqMsg as IConstructionCallMessage; if (message1 != null) { return this.InternalActivate(message1); } if (!base.Initialized) { if (this.CtorThread != Thread.CurrentThread.GetHashCode()) { throw new RemotingException(Environment.GetResourceString('Remoting_Proxy_InvalidCall')); } ServerIdentity identity1 = this.IdentityObject as ServerIdentity; RemotingServices.Wrap((ContextBoundObject) base.UnwrappedServerObject); } int num1 = 0; Message message2 = reqMsg as Message; if (message2 != null) { num1 = message2.GetCallType(); } return this.InternalInvoke((IMethodCallMessage) reqMsg, false, num1);}