no need for deep copy if you create new instance in method