internal PopReplacer(IMetadataHost host, List<IStatement> statements, int i, int numberOfPopsToIgnore) : base(host) { Contract.Requires(host != null); Contract.Requires(statements != null); Contract.Requires(i >= 0); Contract.Requires(i < statements.Count); Contract.Requires(numberOfPopsToIgnore >= 0); this.statements = statements; this.i = i; this.numberOfPopsToIgnore = numberOfPopsToIgnore; }