code: static String getSubclassName(Object testObj) {
          Class<?> testClass = testObj.getClass();
          String testClassName = testClass.getSimpleName();
          String testPackageName = testClass.getPackage().getName();
          ReportsDirectory constant = ReportsDirectory.fromObject(testObj);
          
          switch (constant) {
              case FAILSAFE_2:
              case FAILSAFE_3:
              case SUREFIRE_2:
              case SUREFIRE_3:
              case SUREFIRE_4:
                  return testPackageName + ".Hooked" + testClassName;
                  
              default:
                  return testClass.getCanonicalName() + "Hooked";
          }
          
      }
docs: Get fully-qualified name to use for hooked test class.
  
  @param testObj test class object being hooked
  @return fully-qualified name for hooked subclass