It would be fine to remove the !SILVERLIGHT check, and always `throw new ArgumentException();`, because this code is supposed to be unreachable anyway.