private void logOrThrowMisuse() {
        final String errorMessage =
          ".lookupStarted() was called " + depth + " times (>" + MAX_LOOKUP_DEPTH + " max) without matching " +
          ".close()/.lookupFinished() -> probably code bug?\n" + this;
        if (THROW_ON_INCORRECT_USAGE) {
          throw new AssertionError(errorMessage);
        }
        else {
          THROTTLED_LOG.warn(errorMessage);
        }
      }
private void logOrThrowMisuse()