I assume this is a new feature in JNA, but does throwing an UnsupportedOperationException really work? (i.e. does it make JNA fall back to using the `Class.getFields()` attribute order?)

If not, then it's probably better not to merge this yet.