code: private static <T extends ChallengeHandler> T load0(Class<T>         clazz, 
                                                   ServiceLoader<T> serviceLoader) {
          for (ChallengeHandler challengeHandler: serviceLoader) {
              Class<?> c = challengeHandler.getClass();
              if ((clazz != null) && clazz.isAssignableFrom(c)) {
                  try {
                      return clazz.cast(c.newInstance());
                  } catch (InstantiationException e) {
                      String s = "Failed to instantiate class " + c;
                      throw new RuntimeException(s,e);
                  } catch (IllegalAccessException e) {
                      String s = "Failed to access and instantiate class " + c;
                      throw new RuntimeException(s, e);
                  }
              }
          }
          return null;
      }
docs: ----------------------- Private Methods -------------------------------