code: public static void holdsLock(Object lock, String message, Object... arguments) {
      holdsLock(lock, new IllegalMonitorStateException(format(message, arguments)));
    }
docs: Asserts that the {@link Thread#currentThread() current Thread} holds the specified {@link Object lock}.
  
  The assertion holds if and only if the {@link Object lock} is not {@literal null}
  and the {@link Thread#currentThread() current Thread} holds the given {@link Object lock}.
  
  @param lock {@link Object} used as the lock, monitor or mutex in the synchronization.
  @param message {@link String} containing the message used in the {@link IllegalMonitorStateException} thrown
  if the assertion fails.
  @param arguments array of {@link Object arguments} used as placeholder values
  when formatting the {@link String message}.
  @throws java.lang.IllegalMonitorStateException if the {@link Thread#currentThread() current Thread}
  does not hold the {@link Object lock} or the {@link Object lock} is {@literal null}.
  @see #holdsLock(Object, RuntimeException)
  @see java.lang.Thread#holdsLock(Object)