docs: @Nullable
      public final Router getChildRouter(@NonNull ViewGroup container, @Nullable String tag, boolean createIfNeeded) {
          @IdRes final int containerId = container.getId();
  
          ControllerHostedRouter childRouter = null;
          for (ControllerHostedRouter router : childRouters) {
              if (router.getHostId() == containerId && TextUtils.equals(tag, router.getTag())) {
                  childRouter = router;
                  break;
              }
          }
  
          if (childRouter == null) {
              if (createIfNeeded) {
                  childRouter = new ControllerHostedRouter(container.getId(), tag);
                  childRouter.setHost(this, container);
                  childRouters.add(childRouter);
  
                  if (isPerformingExitTransition) {
                      childRouter.setDetachFrozen(true);
                  }
              }
          } else if (!childRouter.hasHost()) {
              childRouter.setHost(this, container);
              childRouter.rebindIfNeeded();
          }
  
          return childRouter;
      }