compilation error fixed
make setNativeValue protected (only the internals of the class should use it) and try and remove outside usage of getNativeValue as well