The Java driver contains an undocumented feature: if a DBObject contains a field with the key "_transientFields" whose value is a List of String, then any keys in the DBObject matching a value in that list are ignored.
This feature should be removed.