I have model. This is actually an ArrayList of objects. And I also have methods of dealing with it. Such as remove(), find(), getAll(), create(), add(), loadFromFile() and storeInFile().
This model used by different clients. They both have reference to this resource. Is it fine to let them change model without synchronization? They will be able to invoke particular method at the same moment.
How do I have to make a synchronization? Do I have to synchronize methods, or collection?