ConstantItemFilter has a throw when the passed ItemStack is empty. This would be all fine and good, since the javadocs for ItemFilter say to do this, but no other built-in item filter follows this behavior. I don't think that throwing when testing an empty stack like this is a good idea, but whether it really should or not, it should be consistent across all built-in filters to avoid confusion.
ConstantItemFilter
has a throw when the passed ItemStack is empty. This would be all fine and good, since the javadocs for ItemFilter say to do this, but no other built-in item filter follows this behavior. I don't think that throwing when testing an empty stack like this is a good idea, but whether it really should or not, it should be consistent across all built-in filters to avoid confusion.