public override Expression VisitThis(This This) { if (This == null) return null; This dup = (This)this.DuplicateFor[This.UniqueKey]; if (dup != null) return dup; this.DuplicateFor[This.UniqueKey] = dup = (This)This.Clone(); return base.VisitThis(dup); }