docs: private void lock(Object obtainer) throws PSQLException {
      if (lockedFor == obtainer) {
        throw new PSQLException(GT.tr("Tried to obtain lock while already holding it"),
            PSQLState.OBJECT_NOT_IN_STATE);
  
      }
      waitOnLock();
      lockedFor = obtainer;
    }