code: @Nonnull
      private BallColor calculateBallColor() {
          if (owner instanceof TemplateDrivenMultiBranchProject
                  && ((TemplateDrivenMultiBranchProject) owner).isDisabled()) {
              return BallColor.DISABLED;
          }
  
          BallColor c = BallColor.DISABLED;
          boolean animated = false;
  
          for (Job job : owner.getAllJobs()) {
              BallColor d = job.getIconColor();
              animated |= d.isAnimated();
              d = d.noAnime();
              if (d.compareTo(c) < 0) {
                  c = d;
              }
          }
  
          if (animated) {
              c = c.anime();
          }
  
          return c;
      }
docs: Calculates the color of the status ball for the owner based on its descendants.
  <br>
  Kanged from Branch API (original author Stephen Connolly).
  
  @return the color of the status ball for the owner.