CSC 252 Special Assignment. The attached article was written by a graduate student at Rice University. The article tries to show how parametric types (generics) can be used to augment the visitor pattern. Either this student was not thinking carefully, or he simply did not understand how intricate matters could become. The sample code he provided is flawed. Your assignment is to discover and explain the flaw. Please understand that by "flaw" I don't mean that it won't compile. But the structuring of the program he describe won't work as intended. That is, how do we change the return type of accept/visit from "Object" to a parametrized type variable, so we can apply compile-time type checking in most cases? His program doesn't accomplish that. Write a new version of the program (in C#) that will work as intended.