private MultiplexedConstructor(ICloningContext cloningContext, MethodDefinition constructor)
{
Contract.Requires(cloningContext != null);
Contract.Requires(constructor != null);
Contract.Ensures(this.CloningContext != null);
Contract.Ensures(this.Constructor != null);
Contract.Ensures(this.Variables != null);
this.CloningContext = cloningContext;
this.Constructor = constructor;
this.ThisParameter = constructor.Body.ThisParameter;
this.Variables = new List<VariableDefinition>(constructor.Body.Variables);
}