In a sense this class retypes PropertyType.getValue to a new xml type so that the encoder can encode it properly.