Annotations are not only used to describe an object, but also to describe how an object should be treated.  In this case, annotating an object as @Immutable simply means that we treat it as immutable from a clustering perspective - which means that we only replicate it following a setAttribute(...).  I kinda like @Immutable, but I'm open to suggestions.  I don't think this needs to hold up merging this pull request.