code: @SuppressWarnings("unchecked")
      public static Class<SmackDebugger> getDebuggerClass() {
          String customDebuggerClassName = getCustomDebuggerClassName();
          if (customDebuggerClassName == null) {
              return getOneOfDefaultDebuggerClasses();
          } else {
              try {
                  return (Class<SmackDebugger>) Class.forName(customDebuggerClassName);
              } catch (Exception e) {
                  LOGGER.log(Level.WARNING, "Unable to instantiate debugger class " + customDebuggerClassName, e);
              }
          }
          // no suitable debugger class found - give up
          return null;
      }
docs: Returns debugger class used by this factory.
  @return debugger class that will be used for instantiation by this factory