Hi Gytis,
I think you just agreed that having an instance of the Data class for each connected client will allow you to track who owns the locks, thereby meeting the instruction.
But you feel this is undesirable? Why?
If you can justify your decision as to why
you should not do this, then you could put that justification in your design decisions document. I do not know whether it would be accepted or not, but you could try.
I would remind you that locking is worth 20% of the assignments marks, so
I personally feel that you need to do everything you can to meet Sun's requirements.
Regards, Andrew