```
public class TestConcurrent{

 public static void main(String args[]){
    Lock lock = new ReentrantLock();
    boolean b1 = lock.tryLock();
    System.out.println(b1); //prints true       
    boolean b2 = lock.tryLock();
    System.out.println(b2); //prints true again
 }
}

```

The first try to lock manages to lock the object successfully.
About the second try, I would suppose that the second try to lock will return false since the object hasn't been unlocked yet. However it returns true again!!

Any explanation to this?