code: public final void acquire(long arg) {
          if (!tryAcquire(arg) &&
              acquireQueued(addWaiter(Node.EXCLUSIVE), arg))
              selfInterrupt();
      }
docs: Acquires in exclusive mode, ignoring interrupts.  Implemented
  by invoking at least once {@link #tryAcquire},
  returning on success.  Otherwise the thread is queued, possibly
  repeatedly blocking and unblocking, invoking {@link
  #tryAcquire} until success.  This method can be used
  to implement method {@link Lock#lock}.
  
  @param arg the acquire argument.  This value is conveyed to
  {@link #tryAcquire} but is otherwise uninterpreted and
  can represent anything you like.