A bug with Scala's duck typing implementation
allows methods of non-public classes that implement
public interfaces (or override public base class methods)
to get invoked directly on the non-public class' member
(which is illegal and provokes an IllegalAccessException)
rather than indirectly via the public parent class or
interface method. The safeClose / ReflectUtils stuff
is to work around that. When Scala's duck type bugs are
fixed, this should be removed.
A bug with Scala's duck typing implementation allows methods of non-public classes that implement public interfaces (or override public base class methods) to get invoked directly on the non-public class' member (which is illegal and provokes an IllegalAccessException) rather than indirectly via the public parent class or interface method. The safeClose / ReflectUtils stuff is to work around that. When Scala's duck type bugs are fixed, this should be removed.