code: private boolean isLeapMonthBetween(int newMoon1, int newMoon2) {
  
          // This is only needed to debug the timeOfAngle divergence bug.
          // Remove this later. Liu 11/9/00
          // DEBUG
          if (synodicMonthsBetween(newMoon1, newMoon2) >= 50) {
              throw new IllegalArgumentException("isLeapMonthBetween(" + newMoon1 +
                                                 ", " + newMoon2 +
                                                 "): Invalid parameters");
          }
  
          return (newMoon2 >= newMoon1) &&
              (isLeapMonthBetween(newMoon1, newMoonNear(newMoon2 - SYNODIC_GAP, false)) ||
               hasNoMajorSolarTerm(newMoon2));
      }
docs: Return true if there is a leap month on or after month newMoon1 and
  at or before month newMoon2.
  @param newMoon1 days after January 1, 1970 0:00 astronomical base zone of a
  new moon
  @param newMoon2 days after January 1, 1970 0:00 astronomical base zone of a
  new moon