This annotation documents that instances of the annotated class are immutable. This means that its state is seen to others as
never being changed, even though the actual private internal state may indeed change. Therefore, in an immutable class:

all public fields are final; and

all public final reference fields refer to other immutable objects; and

constructors and methods do not publish references to any internal state which is potentially mutable by the
implementation.