android/guava/src/com/google/common/util/concurrent/CycleDetectingLockFactory.java
public ReentrantLock newReentrantLock(String lockName, boolean fair) {
    return policy == Policies.DISABLED
        ? new ReentrantLock(fair)
        : new CycleDetectingReentrantLock(new LockGraphNode(lockName), fair);
  }
public ReentrantLock newReentrantLock(String lockName, boolean fair) {
    return policy == Policies.DISABLED
        ? new ReentrantLock(fair)
        : new CycleDetectingReentrantLock(new LockGraphNode(lockName), fair);
  }
Creates a {@link ReentrantLock} with the given fairness policy. The {@code lockName} is used in
the warning or exception output to help identify the locks involved in the detected deadlock.