* seedless banana — all bananas are seedless. I believe most (All?) locks are reentrant. Lock interface has only 3 implementers.
* backward compatible — reentrant locks behave as  the synchronized keyword. So the reentrance feature is nothing new, just like “seedless” is nothing new for banana.
 Lock.java does offer a few more features such as unlock, lockInterruptibly and tryLock
* unacceptable design — i think many people talk about non-reentrant locks — if myThr already obtained lock1, and need to acquire it again, then the thread blocks!? but i think there’s no such non-reentrant lock in java. It’s an unacceptable design.