...
EX3: If the caller exposes an unmodifiable view of the object, it may not be required to defensively program the class to return copies of interal internal members. This decision should be made early in the design of the API. Note that if some other code wants to use this class in the future, it must also expose unmodifiable views. (SEC01-J. Provide sensitive mutable classes with unmodifiable wrappers)
...