Why the empty check? This is new, I guess? Previously, an empty (but non-null) private key would have been accepted by the code?