Mutability (@NotNull Mutability other) { if (this == other) return this; if (this == UNKNOWN) return other; if (other == UNKNOWN) return this; if (this == MUTABLE || other == MUTABLE) return null; if (this == UNMODIFIABLE || other == UNMODIFIABLE) return UNMODIFIABLE; if (this == UNMODIFIABLE_VIEW || other == UNMODIFIABLE_VIEW) return UNMODIFIABLE_VIEW; return MUST_NOT_MODIFY; }