There are some checks that prevent classes to be merged with the interface that it is the sole implementer of. The attached patch lifts some restrictions that don't make sense in this case.
The instanceof check isn't needed if the parent class is abstract.
The change in shadowsAnyMethods is required if the class has a public static method. I'm a bit uncertain if it's the best possible fix though.