private TimeoutPattern VisitTimeoutPattern(TimeoutPattern tp) { if (tp == null) return null; return (TimeoutPattern)tp.Clone(); }