docs: private final static boolean hasBeenLogged(Throwable t) {
          boolean hasBeenLogged = false;
          Throwable cause = t;
          Throwable lastCause = null;
          while (cause != null && cause != lastCause) {
              if (cause instanceof RecursiveInjectionException) {
                  if (((RecursiveInjectionException) cause).ivLogged) {
                      hasBeenLogged = true;
                  } else {
                      // if we have not logged this recursive exception, make sure that it is only logged once
                      ((RecursiveInjectionException) cause).ivLogged = true;
                      hasBeenLogged = false;
                  }
                  break;
              }
              lastCause = cause;
              cause = cause.getCause();
          }
  
          return hasBeenLogged;
      }