The default read-only implementation of Person.
The default read-only implementation of Person. You typically should not need to directly reference this class; instead, use the Person.apply method to construct new instances.
This Proxy trait allows you to extend the Person trait with additional state or behavior and implement the read-only methods from Person using an underlying instance.
Field information in declaration order.
Checks that all required fields are non-null.