UserGroupInformation was not a public class. It was not intended to be used by external users. The semantics of UserGroupInformation changed such that the previous methods don't make sense any more. So the alternative was to implement the method that always threw UnsupportedOperationException or give the user a compile time error. Errors at compile time, while not good, are much better than errors at runtime.