Warning no longer subclasses Exception, instead it can wrap a Throwable object cause. Warning and WarningHandler now have a generic enumeration for defining Warning types.