Jacques says in the description: "Scripting languages should use a facade class that provides methods for working with generic Objects or providing default behaviors"
Are you suggesting that UtilValidate.isEmpty( Object ) should be available to scripting languages, but not to Java?
The whole point of this issue is to enable isEmpty for types where emptiness is relevant , and not for other types where isEmpty is misleading and we should just use == null. I'd argue that if "emptiness" does not make sense, then isEmpty should not work, even from a scripting language.
In Groovy you can retrofit an interface onto a class using metaclasses without rewriting the code for that class. So we can add the org.apache.ofbiz.base.lang.IsEmpty interface to everything we need, and still deprecate it for Objects in general.