In Row.Builder.build, it currently creates a FieldOverrides object, then sets the overrides, and then will sometimes (if empty) discard everything it just did.
This can be optimized a bit by:
1) Only create the FieldOverrides if the values is not empty.
2) Pass the values in to FieldOverrides constructor so that the appropriate ArrayList can be filled created and filled in immediately. The current setup will cause an empty ArrayList to be created in the constructor and then immediately discarded in the setOverride call.