Adding tracing via TraceSource and adding TraceSwitch for controlling the level of tracing using System.Diagnostics.Trace

You could reduce these further to simply 'throw new ArgumentException(...'