Hi folks! Today, at work, a friend ask me about a method in TestResource because he thought it was a bug. We look at it, and for us, it could be a bug. So, I ask to you. See TestResource class side isAvailable ------------------------ isAvailable ^self current notNil and: [self current isAvailable] ------------------------ the first part (self current notNil) ALWAYS return true because of the implementation of self current: ------------------------ current current isNil ifTrue: [current := self new]. ^current ------------------------- The second part too. Because the implementation of self available (object side method): ------------------------- isAvailable "override to provide information on the readiness of the resource" ^true ------------------------- Ok, you can override and change this method in subclasses, however, the first part is ALWAYS true. Is this correct ? or isAvailable should be: isAvailable ^ self current isAvailable Thanks! Mariano