refactoring ListExtension to throw appriorate exception ArguementNullException or ArguementException