docs: public static TraceComponent register(Class<?> aClass) {
          TraceComponent tc;
  
          /*
           * Check for TraceOptions annotations to specify trace groups and/or
           * message bundle name. Class-level annotation takes priority over
           * package-level.
           */
          TraceOptions options = aClass.getAnnotation(TraceOptions.class);
          if (options == null) {
              options = aClass.getPackage().getAnnotation(TraceOptions.class);
          }
  
          String name = aClass.getName();
          if (options == null) {
              tc = new TraceComponent(name, aClass, (String) null, null);
          } else {
              String[] traceGroups = options.traceGroups();
              if (traceGroups.length == 0) {
                  String traceGroup = options.traceGroup();
                  if (traceGroup.trim().isEmpty()) {
                      traceGroups = TraceComponent.EMPTY_STRING_ARRAY;
                  } else {
                      traceGroups = new String[] { traceGroup };
                  }
              }
  
              tc = new TraceComponent(name, aClass, traceGroups, false, options.messageBundle());
          }
  
          registerTraceComponent(tc);
          return tc;
      }