adding DeepImmutable annotation