 <blockquote> <p>Why do I get original data changed in the calling method, even if copying the original List using the following in the called method :</p> </blockquote> <p>It does not matter what sort of copying you use - addAll() or '='. Your item elements are Dates which are mutable objects. Mutable objects whose references exist on two different lists can be mutated from either list. Pass immutable objects between the functions to isolate them.</p>