I see Unsafe.getValue() fails on a non flattened field with an assert. Given it's entirely up to the VM to flatten or not flattenable fields, how would a user know whether it can call getValue()? Wouldn't he need an API call to check if a field is actually flattened or not? Or am I missing something? Roland.