code: static boolean fireRunStarted(Object runner) {
          if (startNotified.add(runner.toString())) {
              List<?> grandchildren = LifecycleHooks.invoke(runner, "getChildren");
              for (Object grandchild : grandchildren) {
                  CHILD_TO_PARENT.put(grandchild, runner);
              }
              LOGGER.debug("runStarted: {}", runner);
              synchronized(runnerWatcherLoader) {
                  for (RunnerWatcher watcher : runnerWatcherLoader) {
                      watcher.runStarted(runner);
                  }
              }
              return true;
          }
          return false;
      }
docs: Fire the {@link RunnerWatcher#runStarted(Object)} event for the specified runner.
  <p>
  <b>NOTE</b>: If {@code runStarted} for the specified runner has already been fired, do nothing.
  @param runner JUnit test runner
  @return {@code true} if event the {@code runStarted} was fired; otherwise {@code false}