docs: @Override
      public IAuthorizationPrincipal newPrincipal(String key, Class type) {
          final Tuple<String, Class> principalKey = new Tuple<>(key, type);
          final Element element = this.principalCache.get(principalKey);
          // principalCache is self populating, it can never return a null entry
          return (IAuthorizationPrincipal) element.getObjectValue();
      }