The default freezing behaviour of an object is to make
all its fields immutable (including its class), and
freeze all references in all fields. A freeze hook can
be used to override this behaviour to replace all the
contents of the fields before the fields and their
contents are frozen, or to throw an exception.
The default freezing behaviour of an object is to make all its fields immutable (including its class), and freeze all references in all fields. A freeze hook can be used to override this behaviour to replace all the contents of the fields before the fields and their contents are frozen, or to throw an exception.