java.util.concurrent.locks.Lock
resources that are not acquired in front of a
try
block or not unlocked in the corresponding finally
block. Such resources may
be inadvertently leaked if an exception is thrown before the resource is closed.
Example:
lock.lock(); // will be reported since the 'finally' block is missing
try {
doSmthWithLock();
} catch (IOException e) {
throw new UncheckedIOException(e);
}
lock.unlock();