I don't think this will compile. Overloaded methods must differ in their arguments and not just the return type. First and third methods have the same set of arguments and only different in their return type.
Whenever you want to overload a method you must take care of parameters you are passing. All the parameter you are passing in overloading a method must be different in each method.
Best Of Luck
The only cure for that is hours of television radiation. And this tiny ad:
a bit of art, as a gift, the permaculture playing cards