Why is the following allowed:
public class Foo { public Foo() { ... } public void Foo() { ... } }
Is there ever a valid reason for naming a method the same as the class?