Java5 introduced covariant return types but we weren't supporting this properly
because MethodInfoImpl was taking into account the return type (and declaring class)
when doing the equals check.
I removed these two checks from the equals.
Covariant return types are where you override the method to return a different type.
e.g.
public class Something
{
public Object getSomething() {} ;
}
public class StringSomething
{
// StringSomethings return a String not an Object
@Override
public String getSomething() {} ;
}