This weird code is to make the Generic Externalable<T> works. 
It's kind of hard for the Externalable<T> to get the class T . It needs the reflection to search for the class. And we need to set some extra things outside, which bring this low level data structure to the driver to get the hadoop or hyracks classloader.

And then I decide to move the creating newinstance job inside the `readFields` to the subclass, which don't need to load the context to new an instance.