public static Striped<Lock> lazyWeakLock(int stripes) {
    return lazy(
        stripes,
        new Supplier<Lock>() {
          @Override
          public Lock get() {
            return new ReentrantLock(false);
          }
        });
  }
public static Striped<Lock> lazyWeakLock(int stripes) {
    return lazy(
        stripes,
        new Supplier<Lock>() {
          @Override
          public Lock get() {
            return new ReentrantLock(false);
          }
        });
  }
public static Striped < Lock > lazyWeakLock ( int stripes ) { return lazy ( stripes , new Supplier < Lock > ( ) { @ Override public Lock get ( ) { return new ReentrantLock ( false ) ; } } ) ; }
Creates a {@code Striped<Lock>} with lazily initialized, weakly referenced locks. Every lock is
reentrant.

@param stripes the minimum number of stripes (locks) required
@return a new {@code Striped<Lock>}
Creates a { @code Striped<Lock > } with lazily initialized weakly referenced locks . Every lock is reentrant .