By default Data class does'nt have the criteriaFind(), Where as lock() and unlock() is part of it. So I have a LockMgr by extending Data class. Incase of my CriteriaSearch class its a helper class which will not extend Data class but gets the referance of Data class via DataServer class which has a instantiate the Data class and implement serach algorithm. There wont be any criteriaFind() method in Data class, not even a empty method as lock() and unlock(). Is this a right way to do, comments please. Here i have included the criteriaFind() in the DataInterface also.