Olena,
My find method is not synchronized. If you have designed your Data class without find being synchronized, then you shouldn't worry about somebody else's decision and second guess yourself.
If find is synchronized, then this implies that only one
thread at a time can be running it. Is that the behavior you want? I personally allow mutliple threads into the find, and only down deep within the find implementation (actually, another class that does record managing), when it comes to reading the file (via classes in java.io package) do I synchronize.
Hope this helps.