docs: private void examineRedundantBranches() {
          for (RedundantBranch redundantBranch : redundantBranchList) {
              if (DEBUG) {
                  System.out.println("Redundant branch: " + redundantBranch);
              }
              int lineNumber = redundantBranch.lineNumber;
  
              // The source to bytecode compiler may sometimes duplicate blocks of
              // code along different control paths. So, to report the bug,
              // we check to ensure that the branch is REALLY determined each
              // place it is duplicated, and that it is determined in the same
              // way.
  
              boolean confused = undeterminedBranchSet.get(lineNumber)
                      || (definitelySameBranchSet.get(lineNumber) && definitelyDifferentBranchSet.get(lineNumber));
  
              // confused if there is JSR confusion or multiple null checks with
              // different results on the same line
  
              boolean reportIt = true;
  
              if (lineMentionedMultipleTimes.get(lineNumber) && confused) {
                  reportIt = false;
              } else if (redundantBranch.location.getBasicBlock().isInJSRSubroutine() /*
               * occurs
               * in
               * a
               * JSR
               */
                      && confused) {
                  reportIt = false;
              } else {
                  int pc = redundantBranch.location.getHandle().getPosition();
                  for (CodeException e : method.getCode().getExceptionTable()) {
                      if (e.getCatchType() == 0 && e.getStartPC() != e.getHandlerPC() && e.getEndPC() <= pc
                              && pc <= e.getEndPC() + 5) {
                          reportIt = false;
                      }
                  }
              }
  
              if (reportIt) {
                  collector.foundRedundantNullCheck(redundantBranch.location, redundantBranch);
              }
          }
      }